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