2011-04-04 169 views

回答

1

您可以加密SQLiteDatabases。 Android不支持全数据库加密,因此如果您愿意,您必须自行实施。

如果你想遵循加密路线,那么你最好自己加密敏感信息并将其存储在数据库字段中,如Morrison的答案。

所有这一切说 - 你在哪里把加密功能的密码?你可能需要它在你的应用程序的某个地方!在这种情况下,有人可以反汇编你的代码,然后找到密码,并解密信息(尽管它会有更多的工作)。除非你散列信息(单向),然后在设备上没有硬件加密(甚至有缺陷),你不能在设备上完全安全地存储任何东西 - 你总是需要解密信息一段时间,密码必须在设备的某个地方。

如果你想真的强大的安全性,然后存储在服务器(最好是在一个非常安全的位置)上的敏感信息,而不是设备,并通过加密通道在设备和服务器之间的通信只(HTTPS)。您还需要以安全的方式验证设备。但要做到这一点,您需要在设备上存储一些敏感信息,以便使用服务器对设备进行身份验证,除非您强制用户每次输入密码(建议安全是必须的)。 如果信息存储在服务器上,您不一定可以防止不应访问的人员(通过查找您存储的密码或在用户存储在头部时钓鱼用户),但可以撤销对信息的访问。