哈希碰撞

RIPE-MD160. 2^160 is 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976

怎麼可能一直有獨特值

你可能已經發現,對哈希函數而言,輸入的區間若是無限大,而輸出區間僅是固定長度的編號的話,一定會發現兩個完全不同的輸入得出相同的哈希值。這類情況稱為碰撞,比方說輸入"丁手中"得到哈希值"0x666666",然而卻發現"顆P"的哈希值竟然剛好也是"0x666666",如此一來,從哈希值來看,我們就會無法判斷台北的未來到底在誰手中了。

碰撞怎麼辦

一個好的哈希函數理論上會努力減低碰撞被發現的可能性。通常偶爾發現的碰撞並不會影響哈希函數的可用性,除非多餘一個碰撞被發現,大家才會開始淘汰使用這個哈希函數。