什麼是Hash algorithm哈希算法?|金色百科

哈希算法 哈希值 哈希函數 Catherine 2018-07-25

金色財經-比特幣10月3日消息 哈希算法被稱為哈希函數——可能該術語是從生成的哈希值可以被認為是表示值的“混合”版本的概念得出的。

(哈希算法被稱為哈希函數)

(哈希算法被稱為哈希函數)

哈希算法(哈希函數)返回的值稱為哈希值,哈希碼,摘要或簡單哈希值。一個簡單的哈希算法就是讓歌曲所佔硬盤的字節數作為哈希碼。一種用途是稱為哈希表的數據結構,廣泛用於計算機軟件中,用於快速數據查找。哈希算法(哈希函數)通過檢測大文件中的重複記錄來加速表或數據庫查找。一個例子是在DNA序列中發現類似的延伸。它們也可用於加密。一個加密散列函數允許人們容易地驗證一些輸入數據映射到給定的散列值,但是如果輸入數據是未知的,則通過知道所存儲的散列值,故意難以對其重新構造(或等效替換)。這用於確保傳輸數據的完整性,並且是HMAC的構建塊,其提供消息認證。

(哈希算法用於索引和檢索數據庫中的項目)

(哈希算法用於索引和檢索數據庫中的項目)

哈希算法(哈希函數)用於索引和檢索數據庫中的項目,因為使用較短的哈希鍵比使用原始值找到該項目更快。它也用於許多加密算法。

搜索任何名稱首先包括計算哈希值(使用相同的哈希函數用於存儲項目),然後比較使用該值的匹配。一般來說,在四位數字之間找到一個匹配,每個都只有10個可能性,而不是跨越不可預測的價值長度,每個角色有26個可能性。

(哈希算法用於索引原始值或密鑰)

(哈希算法用於索引原始值或密鑰)

哈希算法(哈希函數)用於索引原始值或密鑰,然後每次與值或鍵相關聯的數據被檢索時使用。因此,哈希總是單向操作。不需要通過分析哈希值來“顛倒”哈希函數。事實上,理想的散列函數不能通過這樣的分析得出。一個好的散列函數也不應該從兩個不同的輸入產生相同的哈希值。如果是這樣,這就是所謂的碰撞。提供極低碰撞風險的散列函數可以被認為是可以接受的。

以下是一些相對簡單的哈希算法(哈希函數):

分割餘數法:估計表中項目數量的大小。然後,該數字用作每個原始值或密鑰的除數以提取商和餘數。餘數是散列值。(由於這種方法可能會產生一些衝突,任何搜索機制都必須能夠識別衝突並提供替代搜索機制。)

摺疊方法:該方法將原始值(在本例中為數字)分為幾個部分,將零件相加,然後使用最後四位數(或其他任意數字的數字)作為散列值或鍵。

基數變換方法:當數值或鍵值為數字時,可以改變數字(或基數),導致不同的數字序列。(例如,十進制編號的密鑰可以被轉換為十六進制編號的密鑰。)高階數字可以被丟棄以適應均勻長度的哈希值。

數位重排方法:這是簡單地取代原始值或鍵,例如位置3至6中的數字,反轉其順序,然後使用該數字序列作為哈希值或鍵。

(在密碼學中使用了幾種著名的哈希算法)

(在密碼學中使用了幾種著名的哈希算法)

在密碼學中使用了幾種著名的哈希算法(哈希函數)。這些包括消息摘要哈希算法MD2,MD4和MD5,用於將數字簽名散列成稱為消息摘要的較短值,以及安全散列算法(SHA)(標準算法),其使得較大的(60-位)消息摘要,類似於MD4。然而,對數據庫存儲和檢索工作良好的散列函數可能不適用於加密或錯誤檢查的目的。

哈希算法(哈希函數)與校驗和,校驗數字,指紋,有損壓縮,隨機化函數,糾錯碼和密碼有關(並且經常與之混淆)。雖然這些概念在某種程度上重疊,但每個都有其自己的用途和要求,而且被不同地設計和優化。例如,由美國國家藥物情報中心維護的哈希守護者數據庫更適合地描述為文件指紋的目錄,而不是哈希值。

什麼是Hash algorithm哈希算法?|金色百科
本文來源: 金色財經 文章作者: Catherine 我要糾錯
聲明:本文系金色財經原創稿件,版權屬金色財經所有,未經授權不得轉載,已經協議授權的媒體下載使用時須註明"稿件來源:金色財經",違者將依法追究責任。
比特幣實時價格 ¥55988.69(數據來源:火幣Pro)

相關推薦

推薦中...