我可以在 SQLCipher 中有多个用户吗?
Can I have multiple users in SQLCipher?
我在 C++ 项目中使用 SQLCipher。它有多个用户,每个用户都必须有自己的数据库凭据。 SQLCipher 可以为我做这个吗?如果是,请留下示例代码。如果不是,请分享您对如何做的看法。
不,你不能。看起来 SQLCipher 使用密钥派生函数将您的密码转换为在 SQLite 数据库的每个页面上应用的密钥。
您可以做的是启用 multi-party 加密的常用技巧:
- 使用完全随机的密钥加密数据库
k
;
- 将
(user, encrypt(k, user_key))
的元组存储在数据库旁边的文件中。
user_key
又可以使用密钥派生函数从密码生成。
我在 C++ 项目中使用 SQLCipher。它有多个用户,每个用户都必须有自己的数据库凭据。 SQLCipher 可以为我做这个吗?如果是,请留下示例代码。如果不是,请分享您对如何做的看法。
不,你不能。看起来 SQLCipher 使用密钥派生函数将您的密码转换为在 SQLite 数据库的每个页面上应用的密钥。
您可以做的是启用 multi-party 加密的常用技巧:
- 使用完全随机的密钥加密数据库
k
; - 将
(user, encrypt(k, user_key))
的元组存储在数据库旁边的文件中。user_key
又可以使用密钥派生函数从密码生成。