Files
zmkgC/api/saft_hat/util.go

36 lines
757 B
Go
Raw Normal View History

2025-07-07 20:11:59 +08:00
package saft_hat
import (
"crypto/md5"
"encoding/hex"
"sort"
"strings"
)
// 使用参数名的ASCII升序排序后将参数的值进行拼接并加密生成签名
func GenerateSignature(params map[string]string) string {
// 获取所有的键并按照ASCII码排序
var keys []string
for k := range params {
keys = append(keys, k)
}
sort.Strings(keys)
// 按排序后的键,拼接它们的值
var values []string
for _, k := range keys {
values = append(values, params[k])
}
signStr := strings.Join(values, "&")
// 将拼接后的字符串转换为小写
signStr = strings.ToLower(signStr)
// 使用MD5加密
hash := md5.New()
hash.Write([]byte(signStr))
md5String := hex.EncodeToString(hash.Sum(nil))
return md5String
}