SQLCipher如何解码数据库?密码存储在哪里?如何与多个用户合作?

时间:2014-01-28 11:18:37

标签: java android encryption passwords sqlcipher

我正在构建一个Android应用程序,我需要在其中加密数据库。为此,我现在想要使用SQLCipher。我现在正在读它,但有一些我不明白的东西;密码在哪里?它应该存储在Java代码中的某个位置,还是可以使用用户的(4位)密码来加密和解密数据库?

进一步思考;如果我有多个用户可以登录应用程序(我总是用我们自己的API确认密码)怎么办?是否有可能让几个用户使用不同的密码访问同一个数据库(即解密它)?

欢迎所有提示!

1 个答案:

答案 0 :(得分:3)

  

密码在哪里?

在用户的头脑或用户选择存储的其他地方。

  

是否应该存储在Java代码中的某个地方

如果您需要有用的安全性,请不要。任何人都可以对应用程序进行逆向工程以获得硬编码的密码。

  

用户的(4位)密码可以用来加密和解密数据库吗?

我不知道你指的是什么。当然欢迎您提示用户输入密码。但请不要将其限制为4位数值,因为这可能非常容易被强制使用。

  

是否可以让几个用户使用不同的密码访问同一个数据库(即解密)?

不是真的。 SQLCipher每个数据库只支持一个密码。您可以为每个用户创建不同的数据库,每个数据库都使用用户自己的希望密码来加密。