我的Android应用程序(Java中)中有一个String,它实际上是加密和解密消息的关键。
这是一个简单的字符串,我声明如下:
final static String myKey = "THEKEY";
密钥永远不会改变(它永远不会在应用程序中显示,也不会通过网络或其他东西发送,它会“留在”应用程序中)。
有没有办法让拥有APK的人在我的应用中获得此字符串的值?
如果答案是肯定的,那么确保String的值可以保密的最佳方法是什么?
答案 0 :(得分:3)
有没有办法让拥有APK的人在我的应用中获得此字符串的值?
是的,通过反编译。
确保String的值可以保密的最佳方法是什么?
从APK中删除它。或者,不要担心它被发现。
您可以采取一些步骤,以便逐步更难以检索该值,例如使用DexGuard打包您的生产应用。但是,这不会阻止那些真正想要这个价值的人。