哈希值,也稱為散列值、雜湊值或訊息摘要,是一種將任意長度的輸入數據映射為固定長度的輸出數據的函式。它具有以下特性:
不可逆性:給定一個哈希值,無法通過任何有效的方法推導出其對應的輸入數據,除非通過窮舉法嘗試所有可能的輸入數據,直到找到一個與給定哈希值相匹配的輸入數據為止。這種方法在實際中是不可行的,因為輸入數據的空間太大,而哈希值的空間太小,導致存在許多不同的輸入數據具有相同的哈希值。
唯一性:給定一個輸入數據,其對應的哈希值是唯一確定的,不會因為時間、地點、環境等因素而發生變化。這意味著如果兩個輸入數據具有相同的哈希值,則這兩個輸入數據必然是相同或者等價的。
抗碰撞性:給定一個哈希函式,很難或者不可能找到兩個不同或者不等價的輸入數據,使得它們具有相同的哈希值。這意味著如果兩個輸入數據具有不同的哈希值,則這兩個輸入數據必然是不同或者不等價的。
哈希值在計算機科學、密碼學和區塊鏈等領域有著廣泛的套用。例如,在區塊鏈技術中,每一個區塊包含的內容有數據信息、本區塊的哈希值,以及上一個區塊的哈希值。哈希值是尋找到區塊,從而了解到這些區塊信息的鑰匙。區塊鏈的哈希值能夠唯一而精準的標識一個區塊。區塊鏈中任意節點通過簡單的哈希計算都可以獲得這個區域的哈希值。