第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何解決PHP哈希函數(shù)的碰撞

如何解決PHP哈希函數(shù)的碰撞

最近想使用Hash函數(shù)來(lái)根據(jù)一個(gè)字符串來(lái)生成一個(gè)惟一的值,但是沒(méi)找到好用的Hash函數(shù),像PHP內(nèi)置的MD5、SHA等哈希函數(shù)生成的值太長(zhǎng),我沒(méi)法用,想截取,這樣做又擔(dān)心會(huì)出現(xiàn)哈希碰撞,特來(lái)拜求高人們用的是什么哈希函數(shù)
查看完整描述

2 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

雖然說(shuō)采用什么哈希算法要看數(shù)據(jù)而定,但連MD5再嫌長(zhǎng),可真的有些難辦了。其實(shí)我很想聽(tīng)聽(tīng)為什么“哈希函數(shù)生成的值太長(zhǎng),我沒(méi)法用”。如果是沒(méi)有任何評(píng)估,單憑感覺(jué)就這么說(shuō),那真的太過(guò)分了。
你可能需要的不是一個(gè)低沖撞的哈希算法,而是將哈希算法的輸出壓縮的字符串壓縮算法。由于哈希算法輸出的字符集不過(guò)16個(gè),而ASCII的顯示字符扣掉空格也剩94個(gè),所以單從壓縮字符串長(zhǎng)度來(lái)看,這個(gè)想法應(yīng)該能夠讓你滿(mǎn)意。
輸出變短(也就是哈希值的取值空間變小)必然增加哈希碰撞概率,不要有任何不切實(shí)際的幻想。也就是說(shuō),無(wú)論你的算法是什么,只要范圍等同的減小,哈希碰撞的概率就會(huì)等同的增大。所以如果真的需要短輸出的哈希函數(shù),也就不必再費(fèi)盡心思去找,截取這個(gè)辦法已經(jīng)足夠有效了。
標(biāo)題起的也不好。哈希碰撞的出現(xiàn)是必然的,“解決”哈希碰撞本身就不存在。
哈希碰撞雖然是小概率事件,但絕對(duì)不能怕,更不能躲,尤其不能當(dāng)作“不存在”。一定要根據(jù)應(yīng)用的需求,有明確的方法對(duì)待之。我的建議,要么加長(zhǎng)哈希算法的取值空間,要么增加其他的比較特征,作為在哈希算法之外額外的補(bǔ)充。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-08
?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

長(zhǎng)度越長(zhǎng),碰撞的幾率越小。減少長(zhǎng)度必然增加碰撞幾率。
因?yàn)槟闶前言目臻g隱射到哈希生成串的空間,串長(zhǎng)度決定了空間的大小。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-08
  • 2 回答
  • 0 關(guān)注
  • 322 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)