我创建并使用 RSA 公钥/私钥来加密/解密一些消息。我将它们作为字符串存储到共享首选项中,当我需要它们时,我从字符串创建。一切都很完美,但是将我的私钥作为字符串存储在 sharedpreferences 中是否安全? 带着这个问题:
SharedPreferences MODE_PRIVATE security
我了解到,有人可以访问我的共享首选项并可以从字符串生成我的私钥。在将我的私钥保存在我的手机上时,我该怎么做才能保证私钥的安全?
最佳答案
这完全取决于私钥/公钥对的敏感程度。我认为,将它们存储在 sharedpreferences 中是个不错的主意。您的 key 对存储在与应用程序目录相关的位置,并且具有系统保护以防止外部访问。但是,正如“共享”首选项所暗示的那样,您的 key 对在您的应用程序组件之间共享。因此,如果您需要更好的保护,请考虑将 key 对存储在 KeyStore class 中。反而 。到目前为止,它是 key 对保护的最佳解决方案。它为您提供基于密码的 key 保护。
更新:有一篇关于 android keystore 和 keychain usage 的很棒的文章 here .
关于android - 安全保存 RSA 公钥/私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18165932/