gpt4 book ai didi

language-agnostic - 我应该如何处理应用程序中的校验和冲突?

转载 作者:行者123 更新时间:2023-12-04 12:27:14 25 4
gpt4 key购买 nike

我的应用程序有一部分用于存储文件。因为我们可能会添加许多相同的文件,所以我首先保留每个文件的哈希值。如果两个文件具有相同的哈希值,那么我们将丢弃一个,并且对该文件的两个“引用”都指向同一个物理文件。

  1. 我应该在多大程度上担心哈希冲突?

  2. 如果发生碰撞,我该怎么办?到目前为止,我的代码的全部症结在于没有两个不同的文件具有相同的哈希值。如果现在发生冲突,我的应用程序会抛出一个合法的不同文件并指向具有相同哈希值的文件。

  3. 我应该使用 MD5 以外的东西吗? SHA-1 是否具有更好的碰撞率?

最佳答案

除非您在一些非常关键的应用程序中,否则不要担心散列冲突。它们非常罕见,以至于很多事情都认为它们不会发生,如果这种假设最终被证明是错误的,那么灾难性的事情就会发生在这些事情上。

SHA1 比 MD5 具有更大的输出空间(并且已知的攻击也更少),因此它绝对不是一个更糟糕的选择。如果您害怕有人主动碰撞您的哈希值,那么 SHA 的后续变体(例如 SHA-256)可能是个好主意。

关于language-agnostic - 我应该如何处理应用程序中的校验和冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1903547/

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