md5有沒有可能重復(fù) 不同字符串的md5有可能相同嗎?
不同字符串的md5有可能相同嗎?不同字符串的MD5可能相同,但這種可能性非常小。MD5很難反向解碼的原因是,相同的MD5密文對應(yīng)著無數(shù)種明文的可能性,也就是說,有多個(gè)字符串或文件具有相同的MD5密文。
不同字符串的md5有可能相同嗎?
不同字符串的MD5可能相同,但這種可能性非常小。MD5很難反向解碼的原因是,相同的MD5密文對應(yīng)著無數(shù)種明文的可能性,也就是說,有多個(gè)字符串或文件具有相同的MD5密文。這種現(xiàn)象稱為“碰撞”。由于MD5的長度只有128位,所以2^128=3.402823669e有38種可能,而字符串的長度可以比128位長得多,所以一定有不同的字符串,它們的MD5是一樣的。
md5值會不會有重復(fù)呢?概率多大?
個(gè)人猜測無法快速驗(yàn)證。因?yàn)镸D5的目的是散列,所以我們假設(shè)每個(gè)字符串MD5的結(jié)果是一個(gè)獨(dú)立且均勻分布的128位隨機(jī)字符串。那么每個(gè)128位字符串散列到自身的概率是沒有MD5(STR)==STR。這個(gè)值幾乎等于,既不夠大也不夠小,所以很難說。如果需要暴力驗(yàn)證,驗(yàn)證次數(shù)約為10^38。即使保守估計(jì)一臺計(jì)算機(jī)能在一微秒內(nèi)把一個(gè)字符串散列出來,全世界100億臺計(jì)算機(jī)一起驗(yàn)證,仍然需要大約10萬億個(gè)世紀(jì)來列舉所有的可能性。因此,如果我們不是超級幸運(yùn),一上來就找到解決辦法,用地球人的技術(shù)是不可能在短時(shí)間內(nèi)完成的。