我需要在Android应用程序中存储随每个请求提交的身份验证令牌?我要求一个安全的存储位置,例如iphone有钥匙串,在Android中有相同的服务吗?存储在共享首选项中是否安全?
答案 0 :(得分:0)
在Android 4.3+中,有一种名为AndoridKeystore的东西大致相当于iOS密钥链。 Here这是一篇很好的博客文章和官方API sample project。
一般情况下,如果您使用Context.MODE_PRIVATE
创建共享偏好设置,则只能由您的应用程序(或由您的密钥签名的其他应用程序)访问。但是,如果设备已植根,则用户和任何应用都可能会读取您应用的私人共享偏好设置。
我帮助创建和维护一个名为secure-preferences的库,以模糊存储在共享首选项中的键和值,使攻击者更难以对攻击者进行逆向工程(尽管这不是火箭科学)。安全偏好的一个很好的替代方案是由Mark Murphy提供的CWAC-prefs,由SQLcipher支持。