c – 加密/解密SQLite数据库,并“即时”使用它

前端之家收集整理的这篇文章主要介绍了c – 加密/解密SQLite数据库,并“即时”使用它前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是事情:
在我的Qt4.6项目中,我使用sqlite数据库.这个数据库不能在我的硬盘驱动器上加密.所以我想要的是,在程序的每一个开始,用户被要求输入密码来解密数据库.当然,数据库从来不应该在我的硬盘上出现“清除”(未加密).
那么有没有可能“即时”解密一个sqlite数据库并读取和写入数据?什么算法在这里是最好的(可能是AES)?
当不可能(或非常慢)时,也许最好对数据库中的每个字符串进行加密,并在密码正确时解密该字符串(以便用户可以打开数据库,但不知道所有条目可能意味着什么) ?

解决方法

没有内置的支持,据说你有选择权.

1)您可以自己对所有字符串进行加密/解密,但这是很多工作,不透明,不允许您在数据库中进行搜索.

2)SQLiteCryptSQLCipher做你想要的

您可以使用它们几乎完全透明,并且通常被认为在没有加密的情况下只有大约5%的开销.

猜你在找的C&C++相关文章