27 lines
433 B
Go
27 lines
433 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.Hex(SM3(data))
|
|
}
|
|
|
|
func SM3ToBase64(data []byte) string {
|
|
return encoding.Base64(SM3(data))
|
|
}
|
|
|
|
func SM3ToURLBase64(data []byte) string {
|
|
return encoding.URLBase64(SM3(data))
|
|
}
|