Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
问题是这样的:假设您的算法将给定的字符串分成三个字符块并对它们进行异或。然后它通过现有的 MD5 哈希算法将结果传递给它。例如,该算法将为“FOO”和“FOOFOOFOO”提供相同的哈希值。
在他的示例中,我无法理解对块进行异或运算如何创建相同的哈希值。谁能解释这是如何工作的?
当你将一个值与自身进行异或时,你得到 0,如果你对某物进行异或 0,你会得到相同的东西。我们得到"FOO" XOR "FOO" = "\0\0\0"和"\0\0\0" XOR "FOO" = "FOO"。我把剩下的留给你。:-)
"FOO" XOR "FOO" = "\0\0\0"
"\0\0\0" XOR "FOO" = "FOO"