# 代码实现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
}
```
有疑问加站长微信联系(非本文作者))