在Android中的代码中存储安全服务/文件/数据库的密码是否安全?

时间:2012-05-18 10:52:58

标签: android security passwords

我偶然发现了一个简单的问题,即我打开数据库或使用受保护的服务的最佳方式是什么,从某种意义上说,只有在提供正确的密码时才能使用。

  1. 我已经将SharedPreferences视为一种检索信息的方式,但我需要创建一个应用程序,它将在第一种情况下存储密码,这本身就意味着我需要在某处或其他地方的代码上编写密码

  2. 客户经理是我考虑的另一种方式。

  3. 以AES加密格式,文件或sqlite数据库存储实际密码。但这意味着密钥必须在代码中。

  4. 我会认为这是人们面临的一个相当普遍的问题,我想知道人们是如何解决它的!

1 个答案:

答案 0 :(得分:-2)

在我看来,您可以使用AES加密来加密数据。但主要问题是关键是不安全。 APK可以反编译。所以有一种隐藏密钥的方法。植入有点困难。使用本机编码(NDK)。您可以在C文件中编写密钥,编译后会得到.SO文件。该文件可以包含在您的项目中。从java调用C函数并返回密钥。但另一个问题是当您打开.SO文件时,用C编写的字符串是可见的。因此,分配生成密钥的ascii代码,并使用C中的ascii代码创建一个字符串。