欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

不同字符串的md5有可能相同吗?

不同字符串的md5有可能相同吗?
虽然我觉得就不可能相同
但还是想问问

 我来答
推荐于2017-09-29 00:44:56最佳答案
  不同字符串的MD5有可能会相同,但这种可能性极小。
  MD5之所以很难被反向破译,其原因就在于,同样的MD5密文对应着无数种明文的可能,也就是说,存在多个字符串或者文件其MD5密文相同的情况,这种现象叫做“碰撞”。由于MD5的长度只有128Bit,那么一共就存在2^128=3.402823669e+38种可能,而字符串的长度却可以远不止128Bit,所以一定存在不同的字符串,他们的MD5是一样的。

有可能 但是几率大概是2的128次方分之一的几率
这已经是天文数字了。


可以相同,因为Md5从本质上来讲只是对一个文件进行效验码生成的函数,而这个得到的MD5值位数确是有限的,不管是32位或者是64位,毕竟是有限个数。有人说得到相同MD5值的这个几率是多么的小,其实几率没有想象的那么小,我举个简单的列子:我们为整个宇宙中的原子命名,名字起法很简单:原子0、原子1、……。然后对这个原子的名字进行MD5计算,这个名字在短短的34个字符之内就已经足够产生很多重复的MD5值。我们一般使用的文件远远大于34个字符,可见得到的MD5值的重复的几率是何等的大了。

来自 https://zhidao.baidu.com/question/165320026.html

普通分类: