【发布时间】:2011-06-21 07:57:35
【问题描述】:
Android 上是否有与 iOS 的 Keychain 等效的功能?
我对 Preferences API 的理解是它没有加密。对于我的应用程序,这些凭据是否跨设备保留并不重要(即与iPhone-like Keychain in Android? 不同的用例)
我还查看了 KeyStore API,但它似乎将用户凭据的实际存储留给了应用程序开发人员。
【问题讨论】:
Android 上是否有与 iOS 的 Keychain 等效的功能?
我对 Preferences API 的理解是它没有加密。对于我的应用程序,这些凭据是否跨设备保留并不重要(即与iPhone-like Keychain in Android? 不同的用例)
我还查看了 KeyStore API,但它似乎将用户凭据的实际存储留给了应用程序开发人员。
【问题讨论】:
简短的回答,没有。但是您可以期望文件系统是安全的。
每个应用都在不同的用户下运行,用于存储应用数据的文件系统受普通 UNIX 用户权限的保护。因此默认情况下,每个应用程序的文件访问都是沙盒。文件系统也可能被加密。
开发者网站的这个页面解释得更好:http://developer.android.com/guide/topics/security/security.html
【讨论】:
【讨论】:
扩展@DJPlayer 的回答:
一些相关文章。第三个包括一个 github 应用程序,该应用程序演示了使用密钥库提供程序生成密钥然后加密字符串。
另请参阅 Android Storage Options 了解存储加密密码的方法 - 我的建议是共享首选项。
请注意,根据具有 root 访问权限的第二篇文章以及您的应用程序如何使用密钥库的一些知识(可以通过反编译您的 apk 获得),有可能劫持私钥并使用它来解密加密材料(例如:永久密码)
【讨论】:
其实有:
通过将 Smart Lock for Passwords 集成到您的 Android 应用中,您可以 使用他们的凭据自动将用户登录到您的应用程序 已保存。用户可以保存用户名密码凭据和 联合身份提供者凭据。
使用 Smart Lock for Passwords 将 Smart Lock for Passwords 集成到您的应用中 用于在登录时检索保存的凭据的凭据 API。采用 成功检索凭据以使用户登录,或使用 凭据 API 可通过部分完成快速加入新用户 您的应用程序的登录或注册表单。登录后提示用户或 注册以存储他们的凭据以供将来自动使用 身份验证。
https://developers.google.com/identity/smartlock-passwords/android/
【讨论】: