from Cryptodome.PublicKey import RSA
from base64 import b64encode, encodebytes
from Cryptodome.Signature import pkcs1_15, PKCS1_v1_5
from Cryptodome.Hash import SHA256
import random
import string
import time
def get_sign(sign_str):
path = r'..\apiclient_key.pem'
rsa_key = RSA.importKey(open(path).read())
signer = pkcs1_15.new(rsa_key)
digest = SHA256.new(sign_str.encode('utf-8'))
sign = b64encode(signer.sign(digest)).decode('utf-8')
return sign
结果就是 'message': '错误的签名,验签失败'
得到的就是不正确我个人感觉是计算签名值不正确。有没有可以参照的有大佬知道么,给指点下感谢。
可以参考社区贡献:三行代码搞定V3版微信支付接口
python开发者可以使用已经封装好的“微信支付 V3 API Python SDK”
https://github.com/minibear2021/wechatpayv3