1

我正在编写一个 java 应用程序,它将被编译成机器代码。此应用程序将使用 XOR 加密对一些数据进行编码。该操作的 Gamma 是在应用程序内部生成的。我不能随机生成它,因为另一个应用程序必须对信息进行解码,并且无法将伽玛从第一个应用程序发送到第二个应用程序。因此,我需要一些使用第二个应用程序将提供的密钥来生成伽玛的方法。问题是这个算法可能会使用调试器找到。我想让它尽可能难,关于如何做到这一点的任何想法?

PS。我一直在考虑创建需要参数并使用大量系统资源的不同 java 对象。之后我会在他们身上使用 getBytes() 。这将在调试器中产生大量附加代码。

4

1 回答 1

2

与其尝试实现自己的加密技术,不如尝试使用内置库让您的生活更轻松。javax.crypto由于您要发送到自己的服务器,因此请使用和java.security包设置 RSA 加密。

这个 StackOverflow 答案谈到在 Java 中使用 RSA:https ://stackoverflow.com/a/2027694/2216621

如果您不熟悉 RSA,请在 wikipedia 上阅读:http://en.wikipedia.org/wiki/RSA_(algorithm)

您的基本策略将是创建一个公钥/私钥对,并将公钥放入客户端应用程序中。然后使用公钥加密数据,然后将其发送到服务器。在那里,您将使用私钥解密数据。

于 2013-04-16T18:28:05.097 回答