From 76dcfaa33f8dbe57097a56294cb55a02cbbeaf0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Sat, 12 Nov 2022 10:03:18 +0800 Subject: [PATCH] 1 --- platformapi/jdapi/jdapi.go | 2 +- utils/utils_crypt.go | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/platformapi/jdapi/jdapi.go b/platformapi/jdapi/jdapi.go index 97d3e278..64ad81f9 100644 --- a/platformapi/jdapi/jdapi.go +++ b/platformapi/jdapi/jdapi.go @@ -472,7 +472,7 @@ func JDDecodeToData(appSecret, data string) ([]byte, error) { if err != nil { return nil, err } - resp, err := utils.AESCBCDecpryt(sDec, []byte(key), []byte(iv)) + resp, err := utils.AESCBCDecprytJD(sDec, []byte(key), []byte(iv)) if err != nil { return nil, err } diff --git a/utils/utils_crypt.go b/utils/utils_crypt.go index 3596ee68..31ea76e7 100644 --- a/utils/utils_crypt.go +++ b/utils/utils_crypt.go @@ -18,7 +18,7 @@ func AESCBCEncpryt(data, aesKey, iv []byte) (encryptedData []byte, err error) { return encryptedData, nil } -func AESCBCDecpryt(encryptedData, aesKey, iv []byte) (decryptedData []byte, err error) { +func AESCBCDecprytJD(encryptedData, aesKey, iv []byte) (decryptedData []byte, err error) { c, err := aes.NewCipher(aesKey) if err != nil { return nil, err @@ -31,6 +31,19 @@ func AESCBCDecpryt(encryptedData, aesKey, iv []byte) (decryptedData []byte, err return decryptedData, nil } +func AESCBCDecpryt(encryptedData, aesKey, iv []byte) (decryptedData []byte, err error) { + c, err := aes.NewCipher(aesKey) + if err != nil { + return nil, err + } + cfbdec := cipher.NewCBCDecrypter(c, iv[:c.BlockSize()]) + decryptedData = make([]byte, len(encryptedData)) + cfbdec.CryptBlocks(decryptedData, encryptedData) + + decryptedData = PKCSUnPadding(decryptedData) + return decryptedData, nil +} + // AESCBC16Decrypt 抖音十六位解密 func AESCBC16Decrypt(key, iv, src []byte) ([]byte, error) { decrypted := make([]byte, len(src))