MD5 校验和的最有效子串
如果我想要更短的 MD5 校验和,我应该采用常规校验和并使用前半部分还是后半部分?或者说这有什么关系吗?
(显然它不再是 MD5,它只是一个校验和)
If I want a shorter MD5 checksum, should I take the regular one and use the first half or the second half? Or does it even matter?
(obviously it would cease to be an MD5, it would just be a checksum)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
没关系,但我会非常努力地考虑这样做:你会大大增加冲突的机会(两个不同的数据位具有相同的校验和)。
It doesn't matter, but I'd think very hard about doing this: you'll greatly increase the chance of a collision (two different bits of data with the same checksum).
如果您需要短字符串,请使用某种 CNC 哈希函数。请注意,这不是很安全,但仍然比使用一半 MD5 更好。
Use some sort of a CNC hashing function if you need a short string. Be aware that it isn't a very safe, but it will be still better than taking the half of a MD5.
应该没关系。一般来说,每个输入字节的整个校验和都会改变。但如果你无法决定,为什么不将前半部分与后半部分进行异或呢? :-)
It shouldn't matter. Generally speaking the entire checksum changes for each input byte. But if you can't decide, why not xor the first half with the second? :-)