问题描述
我在c ++项目中使用sqlCipher。它有多个用户,每个用户必须有自己的数据库凭据。 sqlCipher可以帮我吗?如果是,请留下示例代码。如果没有,请分享您的意见。
解决方法
不,您不能。看起来SQLCipher使用密钥派生功能将您的密码转换为在SQLite数据库的每个页面上应用的密钥。
您可以做的是启用多方加密的常用技巧:
- 使用完全随机的密钥
k
加密数据库;
- 将
(user,encrypt(k,user_key))
的元组存储在数据库旁边的文件中。
可以使用密钥派生功能从密码中生成user_key
。