哈希算法原理和用途如下:
1、哈希算法將任意長(zhǎng)度的二進(jìn)制值映射為較短的固定長(zhǎng)度的二進(jìn)制值,這個(gè)小的二進(jìn)制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該段落的一個(gè)字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個(gè)值的兩個(gè)不同的輸入,在計(jì)算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗(yàn)數(shù)據(jù)的完整性。一般用于快速查找和加密算法。
2、用來產(chǎn)生一些數(shù)據(jù)片段(例如消息或會(huì)話項(xiàng))的哈希值的算法。使用好的哈希算法,在輸入數(shù)據(jù)中所做的更改就可以更改結(jié)果哈希值中的所有位;因此,哈希對(duì)于檢測(cè)數(shù)據(jù)對(duì)象(例如消息)中的修改很有用。此外,好的哈希算法使得構(gòu)造兩個(gè)相互獨(dú)立且具有相同哈希的輸入不能通過計(jì)算方法實(shí)現(xiàn)。典型的哈希算法包括 MD2、MD4、MD5 和 SHA-1。哈希算法也稱為“哈希函數(shù)”。
哈希表是根據(jù)設(shè)定的哈希函數(shù)H(key)和處理沖突方法將一組關(guān)鍵字映射到一個(gè)有限的地址區(qū)間上,并以關(guān)鍵字在地址區(qū)間中的象作為記錄在表中的存儲(chǔ)位置,這種表稱為哈希表或散列,所得存儲(chǔ)位置稱為哈希地址或散列地址。作為線性數(shù)據(jù)結(jié)構(gòu)與表格和隊(duì)列等相比,哈希表無疑是查找速度比較快的一種。通過將單向數(shù)學(xué)函數(shù)(有時(shí)稱為“哈希算法”)應(yīng)用到任意數(shù)量的數(shù)據(jù)所得到的固定大小的結(jié)果。如果輸入數(shù)據(jù)中有變化,則哈希也會(huì)發(fā)生變化。哈希可用于許多操作,包括身份驗(yàn)證和數(shù)字簽名。也稱為“消息摘要”。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com