【问题标题】:Can there be collisions in file checksums?文件校验和中是否存在冲突?
【发布时间】:2019-04-28 00:53:56
【问题描述】:

我正在创建一个接受文件作为输入的服务,然后对该文件执行一些处理。我想创建文件的校验和,然后检查数据库以查看该文件是否已被处理,然后从那里提取数据而不是重新处理它。

我有几个关于这个过程的问题。

1) 我需要担心校验和冲突吗? AKA - 两个文件可以返回相同的校验和吗?

2) 我计划使用 MD5 来计算哈希 - 有没有更快的方法来做到这一点?出于其他原因,我应该考虑哪些算法?

【问题讨论】:

  • 根据风险,接受文件后,如果哈希匹配,您可能需要对文件进行全面比较。

标签: encryption hash checksum


【解决方案1】:

1) 我需要担心校验和冲突吗? 我打算用MD5来计算has

校验和(例如 crc32)和加密哈希之间存在差异。加密散列被设计为抗冲突。

这意味着使用哈希可能是您拥有的最佳选择。碰撞的概率非常低,可能可以忽略不计,在数学上仍然高于零。

我正计划使用 MD5 来计算哈希 - 有没有更快的方法来做到这一点?出于其他原因,我应该考虑哪些算法?

MD5 速度很快,但不再安全。哈希已被破坏,并且有快速方法可以产生多个输入,从而产生相同的哈希输出。今天用于哈希的标准是 sha-256(直到您使用 md5 作为校验和而不涉及故意冲突,您可能没问题。无论如何您应该避免被认为已过时的加密原语)

【讨论】:

  • 你也可以包含 blake2 比 MD5 快,Sha256 也是 faster 比 md5
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-09
  • 2012-06-12
  • 1970-01-01
  • 2011-09-25
相关资源
最近更新 更多