是否可以使用 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 分钟前PHP 7.2.2
,我用Ubuntu 16.04 LTS 64bit
. 您无需获得SQLite
加密扩展 (SEE) 的许可证。在现有PHP
扩展的基础上,我添加了一些C
文件AES
和SQLite
功能用于加密/解密寻呼机。它运行良好,现在我将尝试使用 Intel i5 内置 AES 功能使其运行 - 充分利用硬件本身。现在,要打开一个 sqlite 数据库,我可以使用以下命令:
class MyDB extends SQLite3 {
function __construct(){
$this->open('sqlite3.db',SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, 'your_password_here');
}
}
加密整个数据库绝对是最好的解决方案。给我留言了解详情。我可能会很快发布这个解决方案。
我会说你有两个选择:
在 PHP 级别加密您的值并将它们存储为 BLOB 或 base64 字符串
加密整个数据库执行以下命令(就像任何其他常规 SQL 命令一样):PRAGMA hexkey='0x_your_key_in_hex_format'。当您打开数据库以运行 SELECT 查询时,不要忘记做同样的事情。这是官方文档。