使用 PHP 将 SQL AES ENCRYPTION 实现到 SQLite 中



是否可以使用 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中使用相同的查询?

好吧,大约 10 分钟前,我用 Ubuntu 16.04 LTS 64bit 完成了在 HP 笔记本电脑上安装PHP 7.2.2。您无需获取SQLite加密扩展 (SEE) 的许可证。在现有的PHP扩展名之上,我添加了一些带有AESSQLite功能的C文件,用于en/decrypt Pager。它运行良好,现在我将尝试使用英特尔 i5 内置 AES 功能使其工作 - 以充分利用硬件本身。现在,要打开 sqlite db,我可以使用以下内容:

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

加密整个数据库绝对是最好的解决方案。给我写一条消息了解详情。我可能会很快发布此解决方案。

我会说你有 2 个选择:

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

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

最新更新