2015-08-26 130 views
2

我想在Android应用程序中存储一些敏感数据。 我知道我能够将它存储在SharedPreference中或将数据放入sqlite中。但是,如果用户根据应用程序,他将能够获得数据。 我也知道我可以加密数据并将其存储在相同的地方。 但是,我确实想知道Android默认情况下是否具有像使用钥匙串的iOS的机制并将其存储在钥匙串中。 我不确定是否有人问过同样的问题。如果是,请重定向我Android安全地存储用户数据

+0

真的没有任何“安全”的地方在移动设备上存储任何东西 – tyczj

+0

你可以使用sqlcipher检查这个https://github.com/sqlcipher/android-database-sqlcipher –

回答

1

有一个由Duncan制作而成的库,你可以在GitHub上找到(JNCryptor)并且应该对你有用。这与iOS的RNCryptor项目兼容。

这可能适用于Android,或者至少您可以看到代码如何工作并根据需要进行调整。

看看这个question(我在哪里找到了这个库),它与你所要求的不一样,但可以提供帮助。

0

我认为一个好主意是使用Android密钥库“安全”存储您的密钥,然后用它来加密/解密您的数据。

在Android框架内找到一个解决方案总是比较好,而不需要使用任何库。

查看此link了解更多信息。

如果您想使用更加复杂和“安全”的方式来加密/解密数据,您可能认为要在远程服务器上存储您的密钥,但这取决于您的应用程序。

UPDATE 注意您可以安全存储你的数据只能用安全元件,如SIM卡(见this)。您甚至可以使用TEE技术,该技术比文件系统更安全,但比SIM更安全,可将安全对象存储在设备上。这项技术并不适用于所有设备。

相关问题