我有一个 128 位加密密钥,我想将它分成三个部分,当异或一起复制密钥时。
我该怎么做呢?
随机选择另外两个 128 位值(random_1 和 random_2),然后计算出方程式,看看它是如何工作的:
key ^ random_1 = xor_1
现在以同样的方式拆分 xor_1:
xor_1 ^ random_2 = xor_2
翻转这个等式,我们得到:
xor_1 = xor_2 ^ random_2
现在代入第一个方程:
key = random_1 ^ xor_2 ^ random_2
所以你的代码就可以了xor = key ^ random_1 ^ random_2
,你分发除了密钥之外的所有东西。
只需对其中的盐值进行异或,然后对它们进行异或以反转它。
如果key' = key ^ salt1 ^ salt2,那么key = key' ^ salt1 ^ salt2。
实现起来很简单,但逆向工程也很简单。
你想用这个保护什么,你想保护谁?