Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我偶然发现了一个简单的问题,即打开数据库或使用安全服务的最佳方式是什么,从某种意义上说,只有提供正确的密码才能工作。
我已经将 SharedPreferences 视为一种检索信息的方式,但我需要创建一个应用程序,在第一种情况下存储密码,这本身意味着我需要将它写在某处或其他地方的代码上
客户经理是我考虑过的另一种方式。
以 AES 加密格式、文件或 sqlite db 存储实际密码。但这意味着密钥必须在代码中。
我会认为这是人们面临的一个相当普遍的问题,我想知道人们是如何解决它的!
在我看来,您可以使用 AES 加密来加密您的数据。但主要问题是钥匙不安全。APK 可以反编译。所以有一种方法可以隐藏密钥。植入有点困难。使用本机编码 (NDK)。您可以将密钥写入 C 文件,编译后您将获得一个 .SO 文件。该文件可以包含在您的项目中。从 java 调用 C 函数并返回密钥。但另一个问题是,当您打开 .SO 文件时,可以看到用 C 编写的字符串。因此,分配生成密钥的 ascii 代码并使用 C 中的 ascii 代码创建一个字符串。