md5有沒有可能重復(fù) 請用數(shù)學(xué)證明一,下二維碼為什么不會重復(fù)?
就像兩顆豌豆一樣,代碼是基于真實(shí)信息的。例如,您的家庭地址可以用二維碼表示。除非某人與你的家庭住址完全相同,否則街道、建筑物、門牌號的二維碼不會有任何區(qū)別,因此重復(fù)的代碼不是二維碼,而是生成二維碼的信
就像兩顆豌豆一樣,代碼是基于真實(shí)信息的。例如,您的家庭地址可以用二維碼表示。除非某人與你的家庭住址完全相同,否則街道、建筑物、門牌號的二維碼不會有任何區(qū)別,因此重復(fù)的代碼不是二維碼,而是生成二維碼的信息]。目前,可以存儲一個(gè)普通的二維碼。保存數(shù)千個(gè)字母或數(shù)百個(gè)漢字。如果所有的字母都存儲在一個(gè)二維碼中,即使只存儲了1000個(gè)字母,那么一個(gè)二維碼可能有26個(gè)1000次方的排列,而宇宙中的原子數(shù)是10個(gè)80次方的排列。。。
換言之,包含1000個(gè)字母(或鏈接、標(biāo)題等常見信息)的地址被重復(fù)的概率是多少?目前,這種情況再也不會發(fā)生了。普通的地址是100多個(gè)字母(或字節(jié)),世界上最長的城市曼谷有167個(gè)字母,可以概括世界各地。即使你想對宇宙中所有的原子進(jìn)行編碼,現(xiàn)在的二維碼就足夠了
另外,二維碼不是一個(gè)固定的數(shù)字,它還可以像身份證或手機(jī)號一樣增減。如果有一天人們覺得手頭的二維碼不夠,那么在水平和垂直方向上加一行網(wǎng)格,存儲的信息可以翻幾個(gè)數(shù)量級,所以真的不必?fù)?dān)心二維碼會重復(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)完成的。
請用數(shù)學(xué)證明一,下二維碼為什么不會重復(fù)?
1. 去后處理是不夠的。你可以改變視頻的MD5值(相當(dāng)于一個(gè)人的身份證)、去掉頭尾、去掉平臺的水印等,但不推薦這種處理方式。
2. 用我們自己的現(xiàn)場解說,我們可以創(chuàng)建第二次,這也是原創(chuàng)
一般認(rèn)為,任何字符串都有一個(gè)對應(yīng)的MD5加密字符串。實(shí)際上,MD5算法不需要輸入字符串的形式。如果把26個(gè)英文字母組合成一個(gè)32位的字符串,顯然MD5只能加密32位的字符串,其實(shí)MD5可以加密的字符串是無限多的,所以自然會有重復(fù),但這并不叫“不夠”。因?yàn)樵诖蠖鄶?shù)情況下,重復(fù)不會造成大問題,MD5也不會用完。。。
md5值會不會有重復(fù)呢?概率多大?
MD5是對大容量數(shù)據(jù)進(jìn)行數(shù)字簽名前的MD5操作,并將大容量數(shù)據(jù)“壓縮”成統(tǒng)一的短數(shù)據(jù)安全格式。