CRC、MD5、SHA1都是計算一個校驗值的,到底有何區別

CRC、MD5、SHA1都是計算一個校驗值的,到底有何區別

CRC、MD5、SHA1都是計算一個校驗值的,到底有何區別


資料來源: https://mengkang.net/930.html


相同點:

    CRC、MD5、SHA1都是通過對數據進行計算,來生成一個校驗值,該校驗值用來校驗數據的完整性。


不同點:

    1. 算法不同。CRC採用多項式除法,MD5和SHA1使用的是替換、輪轉等方法;

    2. 校驗值的長度不同。CRC校驗位的長度跟其多項式有關係,一般為16位或32位;MD5是16個字節(128位);SHA1是20個字節(160位);

    3. 校驗值的稱呼不同。CRC一般叫做CRC值;MD5和SHA1一般叫做哈希值(Hash)或散列值;

    4. 安全性不同。這裡的安全性是指檢錯的能力,即數據的錯誤能通過校驗位檢測出來。CRC的安全性跟多項式有很大關係,相對於MD5和SHA1要弱很多;SHA1的安全性最高。

    5. 效率不同,CRC的計算效率很高;MD5和SHA1比較慢。

    6. 用途不同。CRC一般用作通信數據的校驗;MD5和SHA1用於安全(Security)領域,比如文件校驗、數字簽名等。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *