我希望了解Android密钥库,以便在设备上存储密码。(https://developer.android.com/training/articles/keystore.html)
在这篇文章中,它说“使用Android密钥库提供程序让单个应用程序存储自己的凭据,只有该应用程序本身才能访问。”这正是我想要的。
所以我认为这将是这样工作的: 1)我将生成RSA密钥
2)将PrivateKey存储在KeyStore中
3)将PublicKey存储在某些SharePrefs中
4)使用PublicKey加密密码
5)使用PrivateKey加密密码。
但是我认为我误解了一些东西,因为这篇文章没有显示:
1)如何将PrivateKey保存到KeyStore中(我没有看到任何API显示密钥库如何添加密钥)
2)不显示如何使用PrivateKey解密数据。
这篇文章为什么要讨论“使用KeyStore中的PrivateKey对某些数据创建签名”?什么是对数据创建签名?(我想使用PrivateKey解密数据)。为什么需要验证“之前由PrivateKey生成的签名”?
所以我现在很迷惑...这篇文章一开始让我走上了正确的道路,但到最后我不知道它想要实现什么。
有人能否建议一下我正在尝试做的事情是否有任何意义? 或者我应该只是将公钥和私钥保存在自己的数据库中?(那里的安全性不高,但考虑到在设备上存储密码的要求,这是我能做到的最好的。)
非常感谢!
问候!
在这篇文章中,它说“使用Android密钥库提供程序让单个应用程序存储自己的凭据,只有该应用程序本身才能访问。”这正是我想要的。
所以我认为这将是这样工作的: 1)我将生成RSA密钥
2)将PrivateKey存储在KeyStore中
3)将PublicKey存储在某些SharePrefs中
4)使用PublicKey加密密码
5)使用PrivateKey加密密码。
但是我认为我误解了一些东西,因为这篇文章没有显示:
1)如何将PrivateKey保存到KeyStore中(我没有看到任何API显示密钥库如何添加密钥)
2)不显示如何使用PrivateKey解密数据。
这篇文章为什么要讨论“使用KeyStore中的PrivateKey对某些数据创建签名”?什么是对数据创建签名?(我想使用PrivateKey解密数据)。为什么需要验证“之前由PrivateKey生成的签名”?
所以我现在很迷惑...这篇文章一开始让我走上了正确的道路,但到最后我不知道它想要实现什么。
有人能否建议一下我正在尝试做的事情是否有任何意义? 或者我应该只是将公钥和私钥保存在自己的数据库中?(那里的安全性不高,但考虑到在设备上存储密码的要求,这是我能做到的最好的。)
非常感谢!
问候!