1
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package ca
|
||||
|
||||
import (
|
||||
"crypto/hmac"
|
||||
"crypto/sha1"
|
||||
"encoding/hex"
|
||||
"hospital-admin-api/config"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// GenerateSignature 生成签名
|
||||
func GenerateSignature(paramMap map[string]string) string {
|
||||
keys := make([]string, 0, len(paramMap))
|
||||
for k := range paramMap {
|
||||
if k == "pdfFile" {
|
||||
continue
|
||||
}
|
||||
keys = append(keys, k)
|
||||
}
|
||||
sort.Strings(keys)
|
||||
|
||||
var toSign string
|
||||
for _, k := range keys {
|
||||
v := paramMap[k]
|
||||
toSign += v + "&"
|
||||
}
|
||||
toSign = strings.TrimSuffix(toSign, "&")
|
||||
|
||||
// Step 3: Calculate HMAC-SHA1 and convert to hex format
|
||||
h := hmac.New(sha1.New, []byte(config.C.CaOnline.CaOnlineAppSecret))
|
||||
h.Write([]byte(toSign))
|
||||
signature := hex.EncodeToString(h.Sum(nil))
|
||||
|
||||
return signature
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package ca
|
||||
|
||||
// func GenerateSi1gnature(paramMap map[string]string, secret string) string {
|
||||
//
|
||||
// }
|
||||
Reference in New Issue
Block a user