Php SQLite3数据库加密--确定加密库?
我正在考虑为PHP应用程序支持加密的sqlite数据库。我使用的是PHP的SQLite3扩展,它们似乎已经支持加密方法,至少SQLite3::u构造允许传递加密密钥 我不知道的是,他们在文档中谈论的是哪个加密库。通过谷歌搜索,我发现了以下几点:Php SQLite3数据库加密--确定加密库?,php,encryption,sqlite,sqlcipher,Php,Encryption,Sqlite,Sqlcipher,我正在考虑为PHP应用程序支持加密的sqlite数据库。我使用的是PHP的SQLite3扩展,它们似乎已经支持加密方法,至少SQLite3::u构造允许传递加密密钥 我不知道的是,他们在文档中谈论的是哪个加密库。通过谷歌搜索,我发现了以下几点: sqlcipher sqlite见 sqlite隐窝 我不清楚的是: 这些库如何与SQLite3集成 如果它们在指定加密密钥和设置数据访问等方面共享兼容性 如果我能在我的应用程序中自动检测我的SQLite3安装是否支持任何加密库以及支持哪个加密库,
- sqlcipher
- sqlite见
- sqlite隐窝
- 这些库如何与SQLite3集成
- 如果它们在指定加密密钥和设置数据访问等方面共享兼容性
- 如果我能在我的应用程序中自动检测我的SQLite3安装是否支持任何加密库以及支持哪个加密库,那么我的应用程序就可以支持不同的加密库
非常感谢您的帮助 据我所知,只有在使用支持加密编译的SQLite版本(即,加密在默认版本中不起作用)时,传递给PHP open的密码才有效 我们已经有一些用户通过使用SQLCipher代码库构建PHP软件,成功地将SQLCipher与PHP结合使用。更多信息可在以下线程中获得:
SQLite3库需要在构建时支持加密。这些项目(还有一些:)可以用来获取支持加密的sqlite3.so/dll 所以,问题是
注意:我没有使用PHP+SQlite3加密。一篇似乎对SQLite加密有用的帖子由管理员发布,解释如何使用sqlcipher请参见我的答案: SQLite3具有用于加密的内置接口。您需要在config.m4中启用它:-DSQLITE\u HAS\u CODEC=1
我已经基于AES开发了自己的加密。在/ext/sqlite3/libsqlite中有几个C文件,效果很好。整个数据库文件是加密的,不需要从PHP发送加密数据。一旦我的代码准备好发布,我将更新这篇文章。干杯 我们现在有了更多关于在PHP中使用SQLCipher的官方文档