背景:接入华为SAAS相关接口
废话不多说,直接上代码
package saas
import (
"crypto/hmac"
"crypto/sha256"
"encoding/base64"
"git.myscrm.cn/golang/stark/v4"
"github.com/go-resty/resty/v2"
"github.com/google/uuid"
"time"
)
type Sass struct {
url string
accessKey string
secretAccessKey string
}
type Response struct {
Code int `json:"code"`
Desc string `json:"desc"`
}
func EncryptHmacSHA256(ak, sk string) (sign, ts string) {
ts = time.Now().UTC().Format("20060102150405000")
h := hmac.New(sha256.New, []byte(sk))
h.Write([]byte(ts + ak))
sign = base64.StdEncoding.EncodeToString(h.Sum(nil))
return
}
func Verify(ak, sk, ts, sign string) bool {
h := hmac.New(sha256.New, []byte(sk))
h.Write([]byte(ts + ak))
calculateSign := base64.StdEncoding.EncodeToString(h.Sum(nil))
if sign =