退款结果通知回调req_info解密按照文档解出来一个奇怪的东西?
发布于 7 年前 作者 ykang 2995 次浏览 来自 问答

语言:Python3.6.2

解密步骤如下:

(1)对加密串A做base64解码,得到加密串B

import base64
req_info = '+Arp7Ewsvm+/NVFAk9LEBu9F4c......'
req_info_b = base64.b64decode(req_info)

(2)对商户key做md5,得到32位小写key*

import hashlib
key = 'a1b2c3......'
key_32 = hashlib.md5(key_.encode('utf8')).hexdigest().lower()

(3)用key*对加密串B做AES-256-ECB解密(PKCS7Padding)

from Crypto.Cipher import AES
cryptor = AES.new(key_32.encode('utf-8'), AES.MODE_ECB)
plain_text = cryptor.decrypt(req_info_b)

打印结果为:

b'\xab\xf6\x92C\xf7\x97\xe9~7\xaa\x95\xf3\x89\xd6o\x07&+\x93\x8a<\x1d\xbc\xc0\x11Z\xee\xea\x93\xab%C\xe7\xff\xe......'

这是个什么玩意儿?没法.decode(‘utf8’),也转换不成微信解密的示例!!谁能告诉我怎么解密呀?

1 回复

你好,支付、卡券相关的问题请移步至微信支付专区提问,我们会有对应同学来处理。https://developers.weixin.qq.com/community/pay

回到顶部