sqlite - FireDAC SQLite 标准加密问题
问题描述
如果我在 FDConnectionDefs.ini 中声明并创建一些 SQLite 数据库,如下所示
[SQLITESAMPLE]
Database=sample.sdb
Password=masterkey
LockingMode=Normal
SharedCache=false;
DriverID=SQLite
它应该aes-256
作为标准设置进行加密。FDSQLiteSecurity1.CheckEncryption
正在返回aes-256
稍后,如果我将参数添加Encrypt=aes-256
到该定义中,我的应用程序仍然可以正常工作。
但是 RAD Studio Data Explorer 和 FireDAC Explorer 只能在一个设置下工作
Encrypt=No
(aes-256
我从这两个应用程序中得到一些损坏的数据文件消息)。
如果我Encrypt=aes-256
从一开始就定义参数,所有应用程序都可以正常工作。
如果我没有从一开始就声明加密模式,也许还有其他一些加密模式标准定义?我想知道这一点。
解决方案
SQLite3 DB 文件从一开始就加密或不加密。
您必须手动将文件从一种加密状态备份到另一种加密状态。
SQLite3 上没有“标准”免费加密。只有几个变种:
- FireDAC 加密
- 闭源SQLite 加密扩展
- SQLite-Crypt商业版
- SQL密码
- WXSQLite3 变种
- DISQLite3商业为 Delphi
- SynSQLite3 Delphi/FPC 开源
- 可能还有其他人……都不兼容!
推荐阅读
- python - Python中混合UTF-8编码的解码响应
- javascript - do-while 语句的 Javascript 自动分号插入
- git - git bug:`git add` 添加了比我预期的更多的文件,而 `git diff` 在提交后丢失了它们
- java - 如何将圆的象限旋转一定角度并定义其他角度的 Q?
- r - R Stringr,如何替换长度不同的字符串的一部分?
- python - python递归立即返回
- c++ - Visual Studio 变量作为数组索引
- popup - 防止在双击事件时显示 Mapbox GL JS 弹出窗口
- angular8 - .Net core 3.0 和 angulr8 中的 XMLHttpRequest 错误,从源“https://”访问 url 处的 XMLHttpRequest。已被 CORS 政策阻止
- c++ - 从 1 个 int 输入返回数组的函数