SHA 1 到底是什麼? 介紹和用法

2021-10-01 18:35:51 字數 906 閱讀 6693

參考:blog.sina.com.cn/s/blog_a42c4c6c0102woq9.html

sha-1是一種資料加密演算法,該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預對映或資訊),並把它們轉化為長度較短、位數固定的輸出序列即雜湊值(也稱為資訊摘要或資訊認證**)的過程。 

該演算法輸入報文的長度不限,產生的輸出是乙個160位的報文摘要。輸入是按512 位的分組進行處理的。sha-1是不可逆的、防衝突,並具有良好的雪崩效應。

數字簽名的原理是將要傳送的明文通過一種函式運算(hash)轉換成報文摘要(不同的明文對應不同的報文摘要),報文摘要加密後與明文一起傳送給接受方,接受方將接受的明文產生新的報文摘要與傳送方的發來報文摘要解密比較,比較結果一致表示明文未被改動,如果不一致表示明文已被篡改

簡單文字描述:

客戶端:

伺服器:

後台介面接受相關引數,然後將(a,b) 在後台進行sha1加密,獲取加密摘要d,最後將d與c進行比較,如果c == d ,則 a和b 在傳輸過程中引數沒有被竊取改變;如果 c != d,則說明a和b已經在傳輸過程中發生了改變,最好不要使用!

注:需要在前後端共同定義乙個加密額外秘鑰,在進行sha1加密的過程中新增進去,這樣即使在客戶端攔截到我們需要傳輸的引數,進行sha1 加密,但是由於其不知道 秘鑰,所以進行sha1加密出來的摘要肯定和後端用相關引數、秘鑰計算出來的結果不同

關鍵sha1加密**簡單舉例:

public static string createsignature(string... arr) catch (exception e) {

return null;

openCV和openGL到底是什麼?

opencv的全稱是open source computer vision視覺 library,是乙個跨平台的計算機視覺庫 主要操作物件是影象 opencv是由英特爾公司發起並參與開發,以bsd許可證授權發行,可以在商業和研究領域中免費使用。opencv可用於開發實時的影象處理 計算機視覺以及模式識...

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

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

C程式到底是什麼?(最通俗介紹)

c程式的理解乙個安全的c程式設計是需要避免單引數的printf語句的。c程式還有乙個重要的點就是注釋,注釋是以 開始的。注釋是對程式進行的文件說明並提高程式的可讀性。還有就是c語言支援一 開頭 以 結尾的多行注釋。在程式執行時,注釋不會引發計算機的任何操作。因為在編譯程式時,所有的注釋都會被編譯器忽...