我想存储数据的键->值结构。
2354235 => string1
3453453 => string2结构必须在构建时定义,不能在运行时进行修改(安全原因)。它必须安全地存储(只有应用程序才能读取)。将其存储在源代码和sqlite中是不可接受的。还有其他想法吗?
发布于 2015-10-15 15:49:37
你在问两件事:
1)在构建时,在代码或DB之外,您可以将它存储在哪里?2)如何才能使其仅通过应用程序读取。
对于1),我建议您只使用加密的raw文件(将其放在/res/raw中)。它们不能被修改,而且可能只是CSV或JSON。检查javax.crypto包,以获得所需的类。
对于2)它取决于您希望它有多安全。您可以使用安全连接从服务器下载解密密钥,但需要确保连接到服务器的实际上是您的应用程序。您可以使用类似于这里的方法来验证服务器中的应用程序:
摘要 这样做是一个多步骤的过程,我将详细介绍,但是下面是一个简短的版本:您使用通过Google服务提供的GoogleAuthUtil类来检索一个名为“ID令牌”的字符串。您可以将令牌发送到后端,后端可以使用它快速、廉价地验证哪个应用程序发送了令牌,以及谁在使用该应用程序。
https://stackoverflow.com/questions/33152787
复制相似问题