哈希函數(hash函數)


hash,—般譯為“散列”,也可以直接音譯為“哈希”,是對輸入的任意長度(又稱預映射),通過哈希算法,轉換成固定長度的哈希值輸出。這種轉換是一種壓縮映射,即,哈希值空間通常比輸入空間小得多,不同的輸入可能會散列到相同的輸出,但對於給定的一個散列值,無法唯一確定其輸入值,也就是說這個過程是不可逆的。簡單的說就是一種將任意長度的消息用一個固定長度的消息摘要函數來概括。hash值可以通過公式h=H(M)計算。
一般來說,函數應該滿足以下條件:
(1)Hash可用於任意大小的數據塊;
(2)hash可以接受任意長度的信息,並將其輸出成固定長度的消息摘要;
(3)單向性。給定一個輸入M,一定有一個h與其對應,滿足H(M)=h,反之,則不行,算法操作是不可逆的。
(4)抗碰撞性。給定一個M,要找到一個M’滿足是不可H(M)=H(M’)是不可能的。即不能同時找到兩個不同的輸入使其輸出結果完全一致。
(5)低復雜性:算法具有運算的低復雜性。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM