繁体   English   中英

有没有办法在Android设备上安全地存储用户数据?

[英]Is there a way to securely store user data on an Android device?

我正在编写一个应用程序,其中用户有时会通过它进行订单。 我想让用户选择保存他们的账单信息(姓名,地址等),以便以后如果他们想要再次订购,可以快速恢复。 用户将输入密码以保护数据。

显然,我不能把它作为文件放在设备上,因为任何人都可以根/找到数据。 是否有内置的Android方法来存储用密码锁定的安全数据? 如果没有,开始使用Java安全存储这些数据的好地方是什么?

编辑:澄清一下,当我说用户将输入密码时,我并不是说我已经找到了保护数据的方法。 我只是想传达用户将数据保存到最终的方法; 现在我想弄清楚如何保持我的交易结束。 :)

您可以使用包含的javax.crypto类来加密任何敏感信息。

您可以查看Secrets for Android应用程序的源代码以获取一些示例。

Android的秘密是一个安全存储和管理Android手机上的密码和机密的应用程序。 它使用强加密和自动注销等技术来帮助确保您的秘密保持安全(假设您使用了一个好的主密码!)。 上下文相关技巧可指导您完成操作,使其易于使用。

显然,我不能把它作为文件放在设备上,因为任何人都可以根/找到数据。

没错,但如果您允许用户为备份文件定义密码,那么窃取该文件的人仍然需要破解加密。 他们可以找到您正在使用的算法,但不能找到密码。

是否有内置的Android方法来存储用密码锁定的安全数据?

Android本身不提供加密文件存储。 您可以自己加密文件,这是我在您写“用户将输入密码以保护数据”时所假设的。

看看SQLCipher for Android。 您可以将该信息存储在数据库中,然后使用256位AES对其进行加密。 http://sqlcipher.net/sqlcipher-for-android/主要项目是propriatery但你可以通过他们的GitHub免费获得Android二进制文件以及一些使用示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM