Android,密钥 - >价值结构安全存储,不可修改

时间:2015-10-15 15:38:53

标签: android collections storage hashtable

我想存储数据的key->值结构,例如

2354235 => string1
3453453 => string2

结构必须在构建时定义,并且不能在运行时修改(安全性原因)。它必须安全存储(只能由应用程序读取)。在源代码和sqlite db中存储它是不可接受的。还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

你问两件事:

1)在构建时,在代码或数据库之外,您可以在哪里存储它。 2)如何让它只能被应用程序读取。

对于1),我建议您只使用加密的raw文件(将其放在/res/raw中)。它们无法修改,可能只是CSV或JSON。检查javax.crypto包中是否有必要的入门类。

对于2),这取决于你想要它的安全性。您可以使用安全连接从服务器下载解密密钥,但是您需要确保连接到服务器的内容确实是您的应用程序。您可以使用类似here所述的内容来验证服务器中的应用程序:

  

<强>摘要

     

执行此操作是一个多步骤的过程,我将完整概述,但这里是简短版本:您使用通过Google Play服务提供的GoogleAuthUtil类来检索名为“ID令牌”的字符串。您将令牌发送到后端,后端可以使用它快速,低成本地验证发送的应用程序以及使用该应用程序的用户。