1

我有完全离线的应用程序,它保留了实现功能所需的少量 KEYS。我正在使用 proguard 来保护我的应用程序免受逆向工程的影响,但是我不可能 100% 地让应用程序远离逆向工程。

此外,KEYS 被定义为不可变的字符串。因此,我认为虽然我使用了 proguard,但最终不会混淆 KEYS。

我的问题是,

如何在我的应用程序中保持 KEYS 的安全,并且我的应用程序要求是固定的并且只想在应用程序中保留 KEYS?

4

1 回答 1

0

我认为唯一可能的方法是依赖某种用户输入(密码?),然后从该输入中派生一个密钥并使用该密钥加密/解密您的密钥。

这意味着您的应用程序在用户第一次启动之前将无法工作(以便她可以输入密钥/密码),如果应用程序应该在后台运行,这可能是一个问题。

另一种方法是使用 Android KeyStore 来加密/解密您的密钥——这样您就可以将您的信任从用户转移到使用过的设备。

于 2018-11-05T11:06:57.047 回答