首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用SQLite加密FireDAC数据库?

如何用SQLite加密FireDAC数据库?
EN

Stack Overflow用户
提问于 2019-05-29 14:05:59
回答 4查看 1.8K关注 0票数 1

我用DB浏览器为SQLite (非加密)创建SQLite数据库,在delphi中用FireDAC打开(可以检索数据)。从abc选择*)。

如何用SQLite加密FireDAC数据库?输入用户名时,密码和加密得到消息“密码DB不加密”。

注意:

当从德尔菲FireDac创建FireDac数据库时,我可以使用加密!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-05-29 22:44:38

若要加密数据库,请使用TFDSQLiteSecurity组件。您还需要一个TFDSQLitePhysSQLiteDriverLink组件来实现它。

如果数据库未加密,则其密码为“”。因此,使用'‘作为OldPassword,并在这种情况下创建新密码。密码被格式化为算法:密码。请参阅有关选择的文档,我使用aes-256.此外,当您这样做时,需要关闭数据库。

代码语言:javascript
复制
...
//Change password
FDSQLiteSecurity1.Password := OldPassword;
FDSQLiteSecurity1.ToPassword := NewPassword;  // example: 'aes-256:mypassword123'
FDSQLiteSecurity1.ChangePassword;
...
//Remove Password
FDSQLiteSecurity1.Password := OldPassword;
FDSQLiteSecurity1.ToPassword := '';
FDSQLiteSecurity1.RemovePassword;
...
票数 3
EN

Stack Overflow用户

发布于 2019-05-29 15:26:21

来自文档

SQLite加密数据库 逼近 其中一个独特的SQLite特性是高速强数据库加密.它允许您对数据库文件内容进行保密,并对数据库文件执行完整性控制。加密的数据库格式与其他类似的SQLite加密扩展不兼容。-这意味着您不能使用加密的数据库,用非FireDAC库加密。如果您需要这样做,那么您必须用原始工具解密数据库并用FireDAC加密它。

票数 1
EN

Stack Overflow用户

发布于 2019-05-29 18:43:27

最近的Delphi版本提供了一个在Sqlite数据库上使用加密的示例项目,请参阅此文档。我自己没有用过这个,顺便说一下。

包括本节。

代码语言:javascript
复制
Encrypt DB
    Encrypt: Encrypts the database according to the Encryption mode and the password provided.

The sampe uses TFDSQLiteSecurity.SetPassword to encrypt the database with the password provided.

The database password is the combination of <encryption algorythm>:<password>. 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56362481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档