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

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

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

编辑:为了澄清,当我说用户将input密码,我不是说我已经想出了一种方法来保护数据呢。 我只是试图传达用户将保护数据的方法; 现在我想弄清楚如何保持我的讨价还价。 🙂

Solutions Collecting From Web of "有没有办法在Android设备上安全地存储用户数据?"

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

一些例子可以查看Android应用程序的秘密的源代码。

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

显然,我不能把这个文件作为一个文件放在设备上,因为任何人都可以find/查找数据。

不错,但是如果你允许用户为备份文件定义一个密码,那么偷取这个文件的人仍然需要破解encryption。 他们可以找出你正在使用的algorithm,但不是密码。

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

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

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