我正在尝试向SOAP api发送加密的纯文本以获得响应
API将实际文本和加密文本作为输入。下面是我的代码,它确实返回一个加密文本,但是它与在线工具的o/p不匹配:https://www.devglan.com/online-tools/triple-des-encrypt-decrypt 如果我使用在线工具中的O/p,API请求就可以工作,但是如果我使用python代码中的文本,API请求就不能工作
from Crypto.Cipher import DES3
from Crypto import Random
from base64 import b64encode, b64decode
key = 'GHYZXFZH2A4B6N6P7R9SPNMT'
cipher_encrypt = DES3.new(key, DES3.MODE_ECB)
plaintext = 'hellomyf'
encrypted_text = cipher_encrypt.encrypt(plaintext)
ct = b64encode(encrypted_text).decode('utf-8')
print(ct)
byte_string = b64decode(ct)
pt = cipher_encrypt.decrypt(byte_string)
o/p from script
jqbhxNmunio=
o/p from tool
jqbhxNmunioWRmE3XhbiHg==
我试图理解我在代码中遗漏了什么,为什么在线web工具的长度高于python代码中文本的长度
非常感谢你的帮助。多谢各位
在添加一个如下所示的8位焊盘后,它确实匹配
pad(plaintext.encode('utf-8'), block_size, style='pkcs7')
目前没有回答
相关问题 更多 >
编程相关推荐