我正在与我们的客户服务器通信。对于 api,我需要用我的私钥签署一个字符串。他们有以下条件要遵循
- 使用 SHA 256 算法计算字符串的哈希值
- 使用私钥和 RSA (PKCS1_PADDING) 算法对哈希值进行签名。
- Base64 编码加密的哈希值
我正在关注
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA256
from Crypto.PublicKey import RSA
import base64
pkey = RSA.importKey(keystring)
message = "Hello world"
h = SHA256.new(message.encode())
signature = PKCS1_v1_5.new(pkey).sign(h)
result = base64.b64encode(signature).decode()
在这里,我得到一个字符串作为结果。但在服务器端,我的签名不匹配。
我有什么问题吗?谁可以帮我这个事 ?