diff --git a/platformapi/jcqapi/jcqapi.go b/platformapi/jcqapi/jcqapi.go index dc046651..60f2c647 100644 --- a/platformapi/jcqapi/jcqapi.go +++ b/platformapi/jcqapi/jcqapi.go @@ -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) { params := make(map[string]interface{}) - params["accessKey"] = a.accessKey - params["dateTime"] = time.Now().Format("2006-01-02T15:04:05Z") params = utils.MergeMaps(params, bizParams) signStr := a.signParam(params) - params["signature"] = signStr err = platformapi.AccessPlatformAPIWithRetry(a.client, func() *http.Request { 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 }, a.config, diff --git a/platformapi/jdshopapi/store_page_test.go b/platformapi/jdshopapi/store_page_test.go index fa310e04..e0d8f2cf 100644 --- a/platformapi/jdshopapi/store_page_test.go +++ b/platformapi/jdshopapi/store_page_test.go @@ -11,6 +11,7 @@ import ( "testing" "git.rosy.net.cn/baseapi/utils" + "golang.org/x/text/encoding/simplifiedchinese" ) func TestCreateShopCategory(t *testing.T) { @@ -110,26 +111,19 @@ func TestAAADS(t *testing.T) { fmt.Println("all:", dataStr) //96be4764e5aeb46e39b7945a9aa02cb3 fmt.Println("key ID:", dataStr[4:36]) fmt.Println("IV:", dataStr[36:68]) + fmt.Println("key main", dataStr[68:]) data2, _ := base64.StdEncoding.DecodeString("XsGNdyDyDHnR79iKU6d5LTSJYaQyWAEssDoD7VM5Kks=") - dataStr2 := hex.EncodeToString(data2) - fmt.Println(dataStr2) fmt.Println(len(data2)) - fmt.Println(len([]byte(string(data2)))) 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:]) // 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 { t.Fatal(err) } - // data3, _ := simplifiedchinese.GBK.NewDecoder().Bytes(decryptedData) //gbk 转 utf-8 - fmt.Println("data", string(decryptedData)) + data3, _ := simplifiedchinese.GBK.NewDecoder().Bytes(decryptedData) //gbk 转 utf-8 + fmt.Println("data", string(data3)) } 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 { length := len(decrypted) + fmt.Println(length) unPadding := int(decrypted[length-1]) + fmt.Println(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 ( block cipher.Block blockMode cipher.BlockMode