当我尝试使用错误的加密密钥打开文件时,为什么SQLite没有给我一个错误?

时间:2020-10-31 07:12:25

标签: php sqlite

我无法在线找到有关此行为的任何信息,因此将不胜感激。

使用以下代码时:

//create file with encryption key "test1"
$tempDB = new \SQLite3("temp.db", SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, "test1");

//attempt to open the same file using key "test2"
$tempDB = new \SQLite3("temp.db", SQLITE3_OPEN_READWRITE, "test2"); 

var_dump($tempDB->lastErrorCode()); //int(0)  : no error?

这是预期的行为吗?如果是这样,如何检查给定SQLite3文件的密钥是否正确?

1 个答案:

答案 0 :(得分:0)

是的,我是个白痴。浏览了the manual之后,我假设加密是PHP + SQLite附带的模块,或者您可以轻松地安装和使用它。

事实并非如此。您必须pay USD 2000才能使用此模块。 gh。

我的代码只是忽略了根据this的参数:

在加密和解密SQLite数据库时使用的可选加密密钥。如果未安装SQLite加密模块,则此参数无效。