【发布时间】:2021-02-10 18:32:19
【问题描述】:
如何混淆 Int64 以便不明显知道原始值?我不是在寻找可怕的东西,一些简单的混淆方法。
【问题讨论】:
-
这能回答你的问题吗? Why is XOR used in cryptography?
标签: encryption hashmap obfuscation
如何混淆 Int64 以便不明显知道原始值?我不是在寻找可怕的东西,一些简单的混淆方法。
【问题讨论】:
标签: encryption hashmap obfuscation
用静态值异或。再次与相同的静态值异或得到原始值。
【讨论】:
为什么要混淆它?你在混淆什么?
例如,如果您尝试保护单个 64 位整数免受 static analysis 的影响,则 xor 方法会在一定程度上保护它。如果您正在寻找来自dynamic analysis 的保护,您将需要一个提供防调试和防篡改保护的更复杂的解决方案。
为什么这个常数值得保护?对此有何程序限制,例如这个值需要多久显示一次?
使用真正的加密算法进行加密会比使用另一个值进行异或运算更进一步,而且实际上并不难。您可以使用AES/CBC/PKCS5Padding(AES 是 current standard algorithm,CBC 用于链接块(这与只有 8 个字节的数据无关),PKCS5Padding 是填充以允许小于块大小)。整个互联网都有例子,包括SO(Rijndael 是 AES)。
【讨论】: