初始
This commit is contained in:
35
api/saft_hat/util.go
Normal file
35
api/saft_hat/util.go
Normal file
@ -0,0 +1,35 @@
|
||||
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
|
||||
}
|
Reference in New Issue
Block a user