27 lines
457 B
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))
|
||
|
|
}
|