MD5哈希怎么没有用完哈希?

时间:2016-09-23 14:07:23

标签: random cryptography md5

如果我没弄错的话,MD5就是一个32字符长的哈希。如果MD5只有32个字符长并且我们可以创建一个无限长的字符串,那么每个哈希值如何不同? MD5的上限是多少以及它究竟是如何完全不可预测的?

3 个答案:

答案 0 :(得分:1)

与所有加密安全散列函数一样,MD5不保证每个散列都不同,只是这种情况极不可能并且很难找到两个产生相同输出的输入。

MD5实际上是16个8位字节,128位。由于输出短(128位)和一些内部问题,MD5不再适用于大多数用途,通常SHA-256是一个很好的替代品。

答案 1 :(得分:1)

你可能会发生碰撞。

这两种:

  • d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89 55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0 e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70
  • d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89 55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0 e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70

给出相同的哈希:

79054025255fb1a26e4bc422aef54eb4

每个哈希都可能发生冲突。这就是发生这种情况的可能性是什么?

32-bit hashes have an even higher chance of colliding

  • cataractperiti
  • 发生冲突
  • roquetteskivie
  • 发生冲突
  • shawlstormbound
  • 发生冲突
  • dowlasestramontane
  • 发生冲突
  • cricketingstwanger
  • 发生冲突
  • longanswhigs
  • 发生冲突

答案 2 :(得分:0)

你错了,MD5是一种确定性的哈希算法,在MD5中没有任何随机或随机的。

当然,如果将MD5应用于数据,可能会有其他数据生成相同的MD5值。这是已知的als碰撞。