# 代码实现sha-256加密算法 sha-256.go ```go package tools import ( "crypto/sha256" "encoding/hex" ) //SHA256生成哈希值 func GetSHA256HashCode(stringMessage string) string { message := []byte(stringMessage) //字符串转化字节数组 //创建一个基于SHA256算法的hash.Hash接口的对象 hash := sha256.New() //sha-256加密 //hash := sha512.New() //SHA-512加密 //输入数据 hash.Write(message) //计算哈希值 bytes := hash.Sum(nil) //将字符串编码为16进制格式,返回字符串 hashCode := hex.EncodeToString(bytes) //返回哈希值 return hashCode } ``` # 调用 用main方法调用sha-256 main.go ```go package main import ( "GraduationProject/tools" "fmt" ) func main() { txt := "Hello World!" code := tools.GetSHA256HashCode(txt) fmt.Println("\n加密前的明文\n", txt, "\nSHA-256加密后的密文:\n", code) } ``` 控制台 ```go 加密前的明文 Hello World! SHA-256加密后的密文: 7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069 ``` # 代码实现sha-512 将sha-256.go文件的第15行加上注释,16行去掉注释 ```go package tools import ( "crypto/sha256" "encoding/hex" ) //SHA256生成哈希值 func GetSHA256HashCode(stringMessage string) string { message := []byte(stringMessage) //字符串转化字节数组 //创建一个基于SHA256算法的hash.Hash接口的对象 //hash := sha256.New() //sha-256加密 hash := sha512.New() //SHA-512加密 //输入数据 hash.Write(message) //计算哈希值 bytes := hash.Sum(nil) //将字符串编码为16进制格式,返回字符串 hashCode := hex.EncodeToString(bytes) //返回哈希值 return hashCode } ```