php語(yǔ)言入門 php程序員hash碰撞原理是什么,怎么解決?
php程序員hash碰撞原理是什么,怎么解決?Hash函數(shù)相當(dāng)于將一個(gè)原始空間的數(shù)據(jù)集映射到另一個(gè)空間,也可以理解為通過(guò)Hash函數(shù)將另一個(gè)文本編程成密文,稱為Hash encryption例如MD5
php程序員hash碰撞原理是什么,怎么解決?
Hash函數(shù)相當(dāng)于將一個(gè)原始空間的數(shù)據(jù)集映射到另一個(gè)空間,也可以理解為通過(guò)Hash函數(shù)將另一個(gè)文本編程成密文,稱為Hash encryption
例如MD5,任何一個(gè)原始文本都會(huì)被加密成8位或16位密文,8位和16位密文是有限的,可以窮盡,但原始文本的長(zhǎng)度是無(wú)限的,所以理論上它是無(wú)限的這會(huì)導(dǎo)致兩個(gè)或多個(gè)不同的原始MD5加密文本會(huì)變成同一個(gè)密文沖突就是找出一個(gè)或多個(gè)加密文本的同一個(gè)密文
沖突沒(méi)有完全解決,我們只能使沖突概率盡可能小,即映射空間或加密密文邊長(zhǎng)密文越長(zhǎng),組合方式越多,碰撞概率越小