gpt4 book ai didi

c++ - 使用整数 key 实现加密算法 : how to store the key during the process

转载 作者:行者123 更新时间:2023-11-28 07:16:23 26 4
gpt4 key购买 nike

我正在使用一种使用 4 字节 key 的加密算法。它是这样工作的

(pseudocode)
for i = 0 to size_of_data
data[i] ^= key[i % 4]

if (i % 4 == 0)
key *= 5
key += 2893
end
end

所以基本上,每次到达键的末尾时,在继续下一组字节之前,将键的值乘以某个固定量。

我的问题与我在解密数据时应该如何存储 key 有关。我可以选择将它存储为一个字节数组,这很容易迭代,但如果我必须对字节数组进行一些数学运算,它就会变得有点复杂。

另一方面,我可以将 key 存储为字节数组的 4 字节整数表示,然后执行适当的移位以对正确的字节进行 XOR。这使得修改 key 变得容易,因为我已经在使用整数。

解决这个问题的更好方法是什么?两者都是有效的解决方案,但在字节操作方面可能有一些更好的方法。

最佳答案

当您对 key 进行整数运算时,最好将 key 保留为无符号整数。然后通过移动值来检索值,例如data[i] ^= ((key >> ((i % 4) * 8)) & 0xFF)

关于c++ - 使用整数 key 实现加密算法 : how to store the key during the process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20182411/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com