sha256算法
文章目錄
- 前言
- 一、sha256是什么?
- 二、go語言實現
前言
提示:以下是本篇文章正文內容,下面案例可供參考
一、sha256是什么?
SHA256是SHA-2下細分出的一種算法
SHA-2,名稱來自于安全散列算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼散列函數算法標準,由美國國家安全局研發,屬于SHA算法之一,是SHA-1的后繼者。
SHA-2下又可再分為六個不同的算法標準
包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。
這些變體除了生成摘要的長度 、循環運行的次數等一些微小差異外,算法的基本結構是一致的。
回到SHA256上,說白了,它就是一個哈希函數。
哈希函數,又稱散列算法,是一種從任何一種數據中創建小的數字“指紋”的方法。散列函數把消息或數據壓縮成摘要,使得數據量變小,將數據的格式固定下來。該函數將數據打亂混合,重新創建一個叫做散列值(或哈希值)的指紋。散列值通常用一個短的隨機字母和數字組成的字符串來代表。
對于任意長度的消息,SHA256都會產生一個256bit長的哈希值,稱作消息摘要。
二、go語言實現
package mainimport ("crypto/sha256""fmt" )/* go語言sha256包中實現了兩種哈希函數,分別是sha256hesha224 */func main() {hash := sha256.New()hash.Write([]byte("hello world!"))result := hash.Sum(nil)fmt.Printf("%x\n", result) }總結
- 上一篇: spring----06 更多DI知识
- 下一篇: BZOJ4293 Siano