什么是哈希洪水攻擊(Hash-Flooding Attack)?
某夜總會有80個妹紙,第一次去的時候,你不知道哪個妹紙好看,是你喜歡的類型,你只能叫領班把所有妹紙都叫出來,一個個的看,你可以看完80個后選擇一個喜歡的,假設每個妹紙看10秒鍾,你一共需要800秒。好不容易選好一個妹紙,下次來了還想找這個妹紙怎么辦?這時候我們會問妹紙你是多少號?妹紙說我是68號,這個68就是妹紙的hash值。
我們重點說第二次,第二次去的時候 ,就需要記住妹紙是68號(hash值)值就行了,一般情況下10秒鍾就能把妹紙找到。
但是,我要說的是但是,有些領班(程序員)比較調皮,他把所有妹紙的號碼都設置成68號。當你到了夜總會對領班說,麻煩把68號妹紙叫出來,這時候來的還是80個妹紙,因為80個妹紙都是68號。這個故意把80個妹紙叫68號這個行為就叫做Hash碰撞攻擊。由於他的調皮,導致客戶挑妹紙的時間大幅延長,從10秒到了800秒。
在代碼中,一般都有一些比較復雜的算法去運算而得出這個hash值,一旦破解了這個算法,就又可以調皮啦。