SHA-1(Secure Hash Algorithm,安全散列算法)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所发布为联邦数据处理标准。SHA-1 可以生成一个被称为消息摘要的 160 位(20字节)散列值,散列值通常的呈现形式为 40 个十六进制数。
本文将使用 Go 语言标准库中的crypto/sha1
来实现SHA1哈希计算。
计算 SHA1
使用crypto/sha1
来计算 SHA1 值的完整源码如下,其中,encoding/hex
用于将byte
切片转换为十六进制字符串:
package main
import (
"crypto/sha1"
"encoding/hex"
"fmt"
)
func SHA1(s string) string {
o := sha1.New()
o.Write([]byte(s))
return hex.EncodeToString(o.Sum(nil))
}
func main(){
fmt.Println(SHA1("123456"))
}
程序运行结果
7c4a8d09ca3762af61e59520943dc26494f8941b