【发布时间】:2010-07-27 00:11:35
【问题描述】:
我想在我的 Android 应用程序中存储一些小而关键的信息,例如 AES 密钥。推荐的方法是什么?我不想将密钥硬编码为我的应用程序的一部分。
我查看了KeyStore,但它并没有真正解决我的问题。鉴于我可以提供密码,它可以存储我的密钥。然后我需要找到一个安全的地方来存储这个密码,这和我原来的问题一样。
是否有内置的 Android 类来执行此任务?还是我应该寻找第三方库?使用 NDK 对我来说也是可以接受的。
更新:
我希望找到一个用于存储的 Android API,以保证只有存储了某些信息的应用程序才能将其取回。 Android OS 可以根据应用程序的签名来强制执行此操作。这样我的应用程序可以在第一次运行时生成一个随机密钥并将其存储在安全存储中以供以后使用。有没有这方面的 API?
【问题讨论】:
-
如果您将数据存储在应用程序的
/data/data/<packagename>/中,那么只有该应用程序可以访问它。但是,如果手机已植根,则情况并非如此。但除此之外,您应该可以在那里存储密码数据。