package main
import (
"github.com/tjfoc/gmsm/sm2"
"fmt"
"crypto/sha256"
)
func handleErr(e error,why string){
if e!=nil{
fmt.Println(why,e)
}
}
func main() {
privateKey, e := sm2.GenerateKey()
handleErr(e,"get priv key error ")
publicKey := privateKey.PublicKey
hash := sha256.Sum256([]byte("wek"))
r, s, err := sm2.Sign(privateKey, hash[:])
handleErr(err,"sign" )
verify := sm2.Verify(&publicKey, hash[:], r, s)
fmt.Println(verify)
}
结果为:

本文介绍了一次使用SM2算法进行签名与验证的过程。通过Go语言实现,演示了如何生成密钥对,对字符串'wek'进行SHA256哈希处理,并使用私钥进行签名。最后,利用公钥验证签名的有效性。
3324

被折叠的 条评论
为什么被折叠?



