jcq参数修改
This commit is contained in:
@@ -67,14 +67,14 @@ func (a *API) signParam(params map[string]interface{}) (sig string) {
|
|||||||
|
|
||||||
func (a *API) AccessAPI(action string, url string, bizParams map[string]interface{}) (retVal map[string]interface{}, err error) {
|
func (a *API) AccessAPI(action string, url string, bizParams map[string]interface{}) (retVal map[string]interface{}, err error) {
|
||||||
params := make(map[string]interface{})
|
params := make(map[string]interface{})
|
||||||
params["accessKey"] = a.accessKey
|
|
||||||
params["dateTime"] = time.Now().Format("2006-01-02T15:04:05Z")
|
|
||||||
params = utils.MergeMaps(params, bizParams)
|
params = utils.MergeMaps(params, bizParams)
|
||||||
signStr := a.signParam(params)
|
signStr := a.signParam(params)
|
||||||
params["signature"] = signStr
|
|
||||||
err = platformapi.AccessPlatformAPIWithRetry(a.client,
|
err = platformapi.AccessPlatformAPIWithRetry(a.client,
|
||||||
func() *http.Request {
|
func() *http.Request {
|
||||||
request, _ := http.NewRequest(http.MethodGet, utils.GenerateGetURL(url, action, params), nil)
|
request, _ := http.NewRequest(http.MethodGet, utils.GenerateGetURL(url, action, params), nil)
|
||||||
|
request.Header.Set("accessKey", a.accessKey)
|
||||||
|
request.Header.Set("dateTime", time.Now().Format("2006-01-02T15:04:05Z"))
|
||||||
|
request.Header.Set("signature", signStr)
|
||||||
return request
|
return request
|
||||||
},
|
},
|
||||||
a.config,
|
a.config,
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
"golang.org/x/text/encoding/simplifiedchinese"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestCreateShopCategory(t *testing.T) {
|
func TestCreateShopCategory(t *testing.T) {
|
||||||
@@ -110,26 +111,19 @@ func TestAAADS(t *testing.T) {
|
|||||||
fmt.Println("all:", dataStr) //96be4764e5aeb46e39b7945a9aa02cb3
|
fmt.Println("all:", dataStr) //96be4764e5aeb46e39b7945a9aa02cb3
|
||||||
fmt.Println("key ID:", dataStr[4:36])
|
fmt.Println("key ID:", dataStr[4:36])
|
||||||
fmt.Println("IV:", dataStr[36:68])
|
fmt.Println("IV:", dataStr[36:68])
|
||||||
|
fmt.Println("key main", dataStr[68:])
|
||||||
data2, _ := base64.StdEncoding.DecodeString("XsGNdyDyDHnR79iKU6d5LTSJYaQyWAEssDoD7VM5Kks=")
|
data2, _ := base64.StdEncoding.DecodeString("XsGNdyDyDHnR79iKU6d5LTSJYaQyWAEssDoD7VM5Kks=")
|
||||||
dataStr2 := hex.EncodeToString(data2)
|
|
||||||
fmt.Println(dataStr2)
|
|
||||||
fmt.Println(len(data2))
|
fmt.Println(len(data2))
|
||||||
fmt.Println(len([]byte(string(data2))))
|
|
||||||
fmt.Println(len([]byte(dataStr[36:68])))
|
fmt.Println(len([]byte(dataStr[36:68])))
|
||||||
iv := base64.StdEncoding.EncodeToString([]byte(dataStr[36:68]))
|
|
||||||
fmt.Println(len([]byte(iv)))
|
|
||||||
fmt.Println(iv)
|
|
||||||
src := base64.StdEncoding.EncodeToString([]byte(dataStr[68:]))
|
|
||||||
fmt.Println(len([]byte(src)))
|
|
||||||
fmt.Println(string(data[18:34]))
|
|
||||||
// str2 := []byte(dataStr[68:])
|
// str2 := []byte(dataStr[68:])
|
||||||
// key := []byte(dataStr2)
|
// key := []byte(dataStr2)
|
||||||
decryptedData, err := Decrypt(data[34:50], data2, data[18:34])
|
|
||||||
|
decryptedData, err := Decrypt([]byte("e69dc427eff81bfd043d033ff583cba6"), data2, data[18:34])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
// data3, _ := simplifiedchinese.GBK.NewDecoder().Bytes(decryptedData) //gbk 转 utf-8
|
data3, _ := simplifiedchinese.GBK.NewDecoder().Bytes(decryptedData) //gbk 转 utf-8
|
||||||
fmt.Println("data", string(decryptedData))
|
fmt.Println("data", string(data3))
|
||||||
}
|
}
|
||||||
|
|
||||||
func Decrypt(decryptBytes, key, iv []byte) ([]byte, error) {
|
func Decrypt(decryptBytes, key, iv []byte) ([]byte, error) {
|
||||||
@@ -148,11 +142,13 @@ func Decrypt(decryptBytes, key, iv []byte) ([]byte, error) {
|
|||||||
|
|
||||||
func PKCS5UnPadding(decrypted []byte) []byte {
|
func PKCS5UnPadding(decrypted []byte) []byte {
|
||||||
length := len(decrypted)
|
length := len(decrypted)
|
||||||
|
fmt.Println(length)
|
||||||
unPadding := int(decrypted[length-1])
|
unPadding := int(decrypted[length-1])
|
||||||
|
fmt.Println(unPadding)
|
||||||
return decrypted[:(length - unPadding)]
|
return decrypted[:(length - unPadding)]
|
||||||
}
|
}
|
||||||
|
|
||||||
func CBCDecript(key, iv, src []byte) (dst []byte, err error) {
|
func CBCDecript(src, key, iv []byte) (dst []byte, err error) {
|
||||||
var (
|
var (
|
||||||
block cipher.Block
|
block cipher.Block
|
||||||
blockMode cipher.BlockMode
|
blockMode cipher.BlockMode
|
||||||
|
|||||||
Reference in New Issue
Block a user