crypto-sm/sm3.go

27 lines
457 B
Go

package sm
import (
"apigo.cc/go/encoding"
"github.com/emmansun/gmsm/sm3"
)
func Sm3(data ...[]byte) []byte {
hash := sm3.New()
for _, v := range data {
hash.Write(v)
}
return hash.Sum(nil)
}
func Sm3ToHex(data []byte) string {
return encoding.HexToString(Sm3(data))
}
func Sm3ToBase64(data []byte) string {
return encoding.Base64ToString(Sm3(data))
}
func Sm3ToUrlBase64(data []byte) string {
return encoding.UrlBase64ToString(Sm3(data))
}