當前位置:成語大全網 - 書法字典 - 哈希算法簡介

哈希算法簡介

哈希算法也稱為哈希算法,是壹種從任意數據中提取小數字的方法。哈希算法是壹種用簡短信息保證數據唯壹性的標誌。這個符號與數據的每個字節都有關,很難找到相反的規律。因此,當原始數據發生變化時,其標誌值也會發生變化。

壹個優秀的哈希算法將實現:

但是,在不同的使用場景中,例如數據結構和安全領域,將強調壹些功能。

以HashMap為例,key(哈希值)對應壹個(或多個數據),key的作用是對防碰撞的要求沒那麽高。換句話說,散列產生的鍵只需要確保值大致均勻地放在不同的桶中。但是整個算法的set性能直接關系到哈希值生成的速度,所以此時哈希值生成的速度就顯得尤為重要,比如JDK中的String.hashCode():

在密碼學中,哈希算法的功能主要用於消息摘要和簽名,並驗證整個消息的完整性。這需要極高的防碰撞和防篡改能力,其次是速度。以MD5為例,其輸出長度為128位,設計的期望碰撞概率為1/(2 128),這是壹個非常小的數字。

目前流行的哈希算法包括MD5、SHA-1和SHA-2。

可以看出,這些流行算法之間最重要的區別是“強防碰撞”。