清華尹成帶你實戰GO案例(14)Go SHA1 雜湊

尹成發表於2018-05-21
Go SHA1 雜湊
SHA1雜湊經常用來計算二進位制或者大文字資料的短標識值。git版本控制系統用SHA1來標識受版本控制的
檔案和目錄。這裡介紹Go中如何計算SHA1雜湊值。
Go在 crypto/* 包裡面實現了幾個常用的雜湊函式。
package main
import "crypto/sha1"
import "fmt"
func main() {
s := "sha1 this string"
// 生成一個hash的模式是`sha1.New()`,`sha1.Write(bytes)`
// 然後是`sha1.Sum([]byte{})`,下面我們開始一個新的hash
// 示例
h := sha1.New()
// 寫入要hash的位元組,如果你的引數是字串,使用`[]byte(s)`
// 把它強制轉換為位元組陣列
h.Write([]byte(s))
// 這裡計算最終的hash值,Sum的引數是用來追加而外的位元組到要
// 計算的hash位元組裡面,一般來講,如果上面已經把需要hash的
// 位元組都寫入了,這裡就設為nil就可以了
bs := h.Sum(nil)
// SHA1雜湊值經常以16進位制的方式輸出,例如git commit就是
// 這樣,所以可以使用`%x`來將雜湊結果格式化為16進位制的字串
fmt.Println(s)
fmt.Printf("%x\n", bs)
}


執行結果
sha1 this string

cf23df2207d99a74fbe169e3eba035e633b65d94



網址:http://www.qukuailianxueyuan.io/



欲領取造幣技術與全套虛擬機器資料

區塊鏈技術交流QQ群:756146052  備註:CSDN

尹成學院微信:備註:CSDN



相關文章