6

我正在使用惊人的 FPS,我必须将密钥存储在 java 代码中。但是我担心有人会反编译我的 apk 并找到密钥。我自己反编译了apk,找不到密钥,但我不是VM专家。有什么帮助吗?

4

2 回答 2

8

您不能将您的加密密钥放入您的应用程序并期望它保持秘密。只需一位坚定的程序员对其进行反编译并找到密钥,然后他们就可以与世界分享。

非对称/公钥加密正是您想要的解决方案。创建一个公钥/私钥对,然后将公钥放入您的应用程序中并自己保留私钥。然后你可以做两件事:

  • 您的应用程序可以使用公钥加密消息,该消息只能使用私钥解密。
  • 或者,您可以使用私钥对消息进行签名,该消息可以使用应用程序中的公钥进行身份验证。
于 2010-01-03T05:33:15.833 回答
1

一个足够坚定的人将能够提取您的密钥,而且对此真的无能为力。您可以尝试以某种方式混淆密钥(提高他们需要如何确定的标准),但您不能阻止他们获取密钥。

但是,根据您需要存储密钥的原因,您可能可以使用Asymmetric Key Cryptography。您将能够存储可能仅限于加密(而非解密)或身份验证目的的公钥,同时能够保证私钥的安全。

于 2010-01-03T04:51:27.830 回答