用python解密十六进制字符串

用python解密十六进制字符串,python,string,encryption,hex,aes,Python,String,Encryption,Hex,Aes,我用Java加密了一个字符串(在Android上),得到了一个字节数组“A14E71A6F4E8D8E465C3C302C2A96BD2” 我现在想用python对其进行加密,但它不起作用: cipher = 'A14E71A6F4E8D8E465C3C302C2A96BD2' aes = AES.new(key, AES.MODE_CBC, iv) print aes.decrypt(cipher) 我已经在网上搜索过了,但没有找到解决办法 提前感谢这可能还不够,您还没有说明这是如何加密的,

我用Java加密了一个字符串(在Android上),得到了一个字节数组“A14E71A6F4E8D8E465C3C302C2A96BD2”

我现在想用python对其进行加密,但它不起作用:

cipher = 'A14E71A6F4E8D8E465C3C302C2A96BD2'
aes = AES.new(key, AES.MODE_CBC, iv)
print aes.decrypt(cipher)
我已经在网上搜索过了,但没有找到解决办法


提前感谢

这可能还不够,您还没有说明这是如何加密的,但至少您需要在解密之前对其进行十六进制解码

cipherData = binascii.unhexlify(cipher)
...
print aes.decrypt(cipherData)

在Python 2中,可以使用以下方法解码十六进制字符串:

如果其他一切就绪(iv、密钥、加密模式),这可能会起作用

如果希望在Python 2和Python 3中都能使用此功能,则可以使用来解码十六进制编码字符串:

from binascii import unhexlify

cipher = unhexlify(b'A14E71A6F4E8D8E465C3C302C2A96BD2')

最初是如何加密的?是和AES一起的吗?你有相同的钥匙吗?在解密之前,你还需要解码base64。如果你想知道为什么你的问题有这么多反对票,请阅读iv,它是一样的吗?Python AES需要十六进制编码的输入加密吗?在Android上,我使用“Cipher.getInstance(“AES/CBC/PKCS5Padding”)”。它返回一个字节数组,作为SMS发送给运行python脚本的Raspi。我在python中使用的iv与在Android中使用的iv相同。@TobiasKohlhauf python AES是否需要十六进制编码的输入加密,或者需要将其解码为二进制?在java中,我使用“Cipher.getInstance(“AES/CBC/PKCS5Padding”)”。希望有帮助。如果我使用base64解码器,我会得到一个错误:输入字符串的长度必须是16的倍数是的,java加密函数的输出是十六进制。但是我不知道如何在python中解密十六进制字符串。我的错,是的,我浏览了一下数据,认为base64是十六进制。谢谢!在我的情况下,不精确的版本起作用了!(:
from binascii import unhexlify

cipher = unhexlify(b'A14E71A6F4E8D8E465C3C302C2A96BD2')