SHA 1和SHA 2演算法有什麼區別?

2021-09-26 15:23:56 字數 919 閱讀 6919

sha是乙個密碼雜湊函式家族,是fips所認證的安全雜湊演算法。能計算出乙個數字訊息所對應到的,長度固定的字串(又稱訊息摘要)的演算法。且若輸入的訊息不同,它們對應到不同字串的機率很高。sha-1和sha-2是該演算法不同的兩個版本,它們的構造和簽名的長度都有所不一樣,但可以把sha-2理解為sha-1的繼承者。

首先,人們一般把雜湊值位數長度作為重要的區別,sha-1是160位的雜湊值,而sha-2是組合值,有不同的位數,其中最受歡迎的是256位。

因為sha-2有多種不同的位數,導致這個名詞有一些混亂。但是無論是「sha-2」,「sha-256」或「sha-256位」,其實都是指同一種加密演算法。但是sha-224」,「sha-384」或「sha-512」,表示sha-2的二進位制長度。還要另一種就是會把演算法和二進位制長度都寫上,如「sha-2 384」。

ssl行業選擇sha作為數字簽名的雜湊演算法,從2011到2015,一直以sha-1位主導演算法。但隨著網際網路技術的提公升,sha-1的缺點越來越突顯。從去年起,sha-2成為了新的標準,所以現在簽發的ssl證書,必須使用該演算法簽名。

也許有人偶爾會看到sha-2 384位的證書,很少會看到224位,因為224位不允許用於公共信任的證書,512位,不被軟體支援。初步預計,sha-2的使用年限為五年,但也許會被提前淘汰。這需要時間來驗證。

兩者在表面上似乎沒有什麼特別,但是數字簽名對於ssl/tls的安全性具有重要的作用。雜湊值越大,組合越多,其安全性就越高。加密雜湊演算法的乙個重要功能是產生獨特的雜湊,當兩個不同的值或檔案可以產生相同的雜湊,則會建立所謂的碰撞。只有在不發生碰撞時,才能保證數字簽名的安全性。碰撞對於雜湊演算法來說是極其危險的,因為碰撞允許兩個檔案產生相同的簽名。當計算機檢查簽名時,即使該檔案未真正簽署,也會被計算機識別為有效的。

SHA1演算法原理

1 sha1演算法簡介 安全雜湊演算法 secure hash algorithm 主要適用於數字簽名標準 digital signature standard dss 裡面定義的數字簽名演算法 digital signature algorithm dsa 對於長度小於2 64位的訊息,sha1會...

SHA1 摘要演算法

sha1 演算法 訊息摘要演算法,把訊息按照512 bits進行分組,不斷的對5個int型變數進行計算,直到所有訊息都運算完畢。最終得到 160 bit 即 20 位元組的雜湊值。流程圖 c語言實現 用到的資料結構 sha1演算法的上下文,儲存一些狀態,中間資料,結果 typedef struct ...

Sha 1演算法詳解

一 hash函式和訊息完整性 二 常見的hash函式 三 sha 1演算法實現的基本步驟 1 將訊息摘要轉換成位字串 01100001 01100010 01100011 2 對轉換後的位字串進行補位操作 初始的資訊摘要 01100001 01100010 01100011 第一步補位 011000...