文章目录
- 前言
- 一、SM3是什么?
- 二、go语言实现
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、SM3是什么?
SM3是中华人民共和国政府采用的一种密码散列函数标准,由国家密码管理局于2010年12月17日发布。相关标准为“GM/T 0004-2012 《SM3密码杂凑算法》”。
在商用密码体系中,SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其算法公开。据国家密码管理局表示,其安全性及效率与SHA-256相当。
二、go语言实现
package mainimport ("github.com/tjfoc/gmsm/sm3""fmt""encoding/hex"
)func main13_1() {hash := sm3.New()hash.Write([]byte("wei"))result := hash.Sum(nil)fmt.Println(hex.EncodeToString(result))fmt.Println("length = ", len(result)*8)
}func main() {result := sm3.Sm3Sum([]byte("wei"))fmt.Println("length = ", len(result) * 8)fmt.Println(hex.EncodeToString(result))
}