我目前正在学习加密算法并解决问题。我有点迷失在这里。我想知道是否有人可以给我一些指导。到目前为止,我知道初始奇偶校验定义是偶校验,但我不确定如何进行下一步。感谢您的任何指导。
“一个简单的散列方法将给定的数据分成整数个字节,如果需要,用 1 填充低位,使数据成为字节的整数倍,然后计算字节中比特的按位奇偶校验。带有一个字节长的哈希码。
对于以下十六进制数据,此方案计算的哈希码是多少:
0x000100010
列出另一个具有相同哈希码的相同长度的数据项。这是一个好的散列方案吗?解释你的答案。
奇偶校验定义:10101011 1,奇数个 1 的奇偶校验值为 1。”
最佳答案
Parity 非常简单:它只是表示计算值中 1 位的数量,看看它是偶数还是奇数。在这种情况下,您似乎正在使用偶数奇偶校验,这意味着奇数个 1 产生的奇偶校验值为 1(因此 1 位的总数,包括奇偶校验,变为偶数),而偶数个1s 产生的奇偶校验值为 0。偶校验等效于将所有位 XOR 放在一起。
您的“按位奇偶校验”方案听起来像是您应该取值 0x000100010(4.5 个字节)并将其扩展为 0x000100010F(5 个字节,低 4 位全为 1),然后将其拆分为 8 位值 0x00 、0x01、0x00、0x01 和 0x0F,然后将所有这些按位异或。
关于algorithm - 加密算法和按位奇偶校验,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33448923/