1

是否可以使用 PHP 将 SQL AES_ENCRYPT/AES_DECRYPT 实现到 SQLite 中?例如我有一个 PHP 代码:

$SQL = "INSERT INTO parent (Request, Column1, Column2) VALUES ('$Request',AES_ENCRYPT('$Col1','$key'),AES_ENCRYPT('$Col2','$key'))";

这个查询可以在 SQL 中使用,但是是否可以在 SQLite 中使用相同的查询?

4

2 回答 2

2

好吧,大约 10 分钟前PHP 7.2.2,我用Ubuntu 16.04 LTS 64bit. 您无需获得SQLite加密扩展 (SEE) 的许可证。在现有PHP扩展的基础上,我添加了一些C文件AESSQLite功能用于加密/解密寻呼机。它运行良好,现在我将尝试使用 Intel i5 内置 AES 功能使其运行 - 充分利用硬件本身。现在,要打开一个 sqlite 数据库,我可以使用以下命令:

class MyDB extends SQLite3 {
      function __construct(){
        $this->open('sqlite3.db',SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, 'your_password_here');
      }
}

加密整个数据库绝对是最好的解决方案。给我留言了解详情。我可能会很快发布这个解决方案。

于 2018-03-07T21:43:49.303 回答
1

我会说你有两个选择:

  • 在 PHP 级别加密您的值并将它们存储为 BLOB 或 base64 字符串

  • 加密整个数据库执行以下命令(就像任何其他常规 SQL 命令一样):PRAGMA hexkey='0x_your_key_in_hex_format'。当您打开数据库以运行 SELECT 查询时,不要忘记做同样的事情。是官方文档。

于 2012-10-05T12:50:21.977 回答