乐趣区

关于密码学:密码技术国密SM3哈希算法及Go语言应用

SM3 杂凑算法

sm3 是我国国产的哈希算法,是一种明码散列函数规范,有国家明码管理局与 2010 年 12 月 17 日公布,该算法次要用于数字签名及验证,音讯认证码生成及验证,随机数生成等,算法公开,其效率与 sha256 相当。

go 语言利用

package main

import (
    "fmt"
    "github.com/tjfoc/gmsm/sm3"
)

func main(){src := []byte("sm3 是我国国产的哈希算法")
    hash := sm3.New()
    hash.Write(src)
    hashed := hash.Sum(nil)
    fmt.Printf("哈希后果为:%x", hashed)
}

运行后果:

 哈希后果为:3b366d29964b5543be7aa7cc064f9eeef9481baaa656c8bd3a88b431a8fb6f6c
退出移动版