我正在创建一个Android应用程序,我不能(?)找到有关在Google App Engine上验证应用程序用户的任何信息(不使用用户的Google帐户).在AndroID设备上存储用户名和密码是一种很好的做法.然后将应用程序使用的数据存储在Google App Engine上?
解决方法:
你不应该使用SharedPreferences,尽管谷歌会告诉你它们的安全性,因为权力和想法的权力用户普遍存在生根习惯这一简单事实.
在有根的系统中,授权的应用程序将能够访问内部存储/系统分区,从而访问根存储的加密XML文件,其中AndroID存储SharedPreferences,这对于ROOT-AUTHORIZED APPS来说是明确的.因此,如果受感染的手机碰巧有一个存储此类数据的应用程序,并且用户习惯滥用相同的电子邮件/密码来处理不同的服务,那么攻击向量很容易损害多个服务的凭据,尽管用户在解除警告时会发出任何警告.根植他的手机或给应用程序这样的权限,因为,那些警告只是不够清楚.
替代方案是使用自定义,可变种子,盐渍算法对凭证的持久存储进行手动加密. secure-preferences lib是一个很好的选择,几乎可以透明地为您完成所有事情,还有实现AndroID的SharedPreferences接口的额外好处,保留默认spref的大部分功能,只需稍加调整(查看他们的示例).
2016年编辑:我觉得我需要在2016年再回到这个问题并添加一个很好的参考苹果与FBI的戏剧来改变圣贝纳迪诺袭击者手机中的 *** 作系统.所以,想象一下你的手机很容易上传,就像大多数AndroID一样,甚至可能默认为root,也不需要将数据擦除到root.如果他们不想获得您的凭据,FBI不需要谷歌或贵公司提出任何要求.通过使用诸如安全偏好之类的东西,您可以通过仅使您自己的系统(在这种情况下,您的应用程序)能够访问这些凭据来承担Apple决定承担的相同类型的责任.如果他们愿意,你会被FBI烦恼,但让你的用户感觉你,而不是底层 *** 作系统,是唯一直接控制这些凭据的权威,这是我宁愿在我的产品中使用的东西.
总结以上是内存溢出为你收集整理的在Android中存储用户登录凭据的最佳位置全部内容,希望文章能够帮你解决在Android中存储用户登录凭据的最佳位置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)