包含SM2加解密和签名算法、SM3密码杂凑算法,用于自主可控链
priv, pub, err := sm2.GenerateKey(rand.Reader)
priv为私钥,pub为公钥
cipherText, err := sm2.Encrypt(pub, src, sm2.C1C3C2)
cipherText为密文,pub为公钥,src为明文,第三个函数参数为密文编码格式
plainText, err := sm2.Decrypt(priv, cipherText, sm2.C1C3C2)
plainText为明文,priv为私钥,cipherText为密文,第三个函数参数为密文编码格式
sign, err := sm2.Sign(priv, nil, inBytes)
sign为签名内容,priv为私钥,第二个函数参数为ID,默认为1234567812345678,inBytes为签名对象
result := sm2.Verify(pub, nil, inBytes, sign)
result为验签结果,pub为私钥,第二个函数参数为ID,默认为1234567812345678,inBytes为验签对象内容部分,sign为验签对象签名部分
hash := sm3.Sum(src)
hash为散列值,src为原文