哈希函数是否有可能为两个不同的输入产生相同的哈希值?

发布于 2025-01-09 15:48:29 字数 1437 浏览 0 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

智商已欠费 2025-01-16 15:48:29

是的。任何哈希函数的范围都受到位数的限制。例如,如果我们使用输出 8 位的哈希函数,那么我们只有 256 个可能的输出;因此,如果我们有超过 256 个可能的输入,那么我们肯定会发生碰撞。

如果我们使用范围更大的哈希函数,那么发生冲突的可能性就会大大降低;但不能让它成为不可能,因为我们的投入是无限的。

冲突的存在是这些函数是一种方式的部分原因:给定的输出可以由无限数量的不同输入生成。

我们还应该使用良好的加密哈希函数来帮助避免类似输入的冲突。

您可能需要查看“SHAttered”示例,其中有 2 个具有相同 SHA1 哈希值的不同 PDF 文件。

Yes. The range of any hash function is limited by the number of bits. For example, if we were to use a hash function outputting 8 bits, then we only have 256 possible outputs; so if we have more than 256 possible inputs then we are guaranteed to have a collision.

If we use a hash function with a larger range then it becomes much less likely to have a collision; but cannot make it impossible because our inputs are unlimited.

The existence of collisions is part of the reason why these functions are one way: a given output could have been generated from an unlimited number of different inputs.

We should also use a good cryptographic hash function to help avoid collisions from similar input.

You may want to look at the "SHAttered" example of 2 different PDF files that have the same SHA1 hash.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文