Golang实现sha256或sha512加密

China2286844958 · · 4429 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

# 代码实现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 } ```

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4429 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传