首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python中AES 128加密的输出长度

python中AES 128加密的输出长度
EN

Stack Overflow用户
提问于 2015-07-20 19:34:04
回答 1查看 780关注 0票数 0

当我试图转换为十六进制时,我的AES 128加密代码的输出使用pycrypto。我使用的是十六进制.the输出是64位为32位的输入。输出的大小总是任何输入的两倍,当使用在线编译器时,我得到了一个完美的32位output.Whats错误。

在实现数据时,我应该将数据转换成与输入大小相同的格式。

代码语言:javascript
运行
复制
text= 3235383334332b352b3934363230383037312b3100000000

key ='0123456789abcdef'

iv = '/00/00/00/00/00/00/00/00/00/00/00/00/00/00/00/00'

encryptor = AES.new(key,mode,IV=iv)

output=encryptor.encrypt(text)

我得到加密的输出

代码语言:javascript
运行
复制
?"?χ?v???
         ؛?3(???nyA??U?}??/??>

我想把它转换成我可以读的格式,所以我就把它转换成十六进制。

代码语言:javascript
运行
复制
efb82283cf87e7127696baad0c1bd89b3781331c289db9f96e7941d3cd55c77db8a72fdcdd3e1ac1bc9031c61c998e49

你能建议一些其他可读的格式,我可以把我的数据转换成??

EN

回答 1

Stack Overflow用户

发布于 2015-07-20 19:48:45

我引用binascii.hexlify的python文档的话(重点是后加的):

返回二进制数据的十六进制表示形式。数据的每一个字节都被转换成相应的2位十六进制表示.因此,结果字符串的长度是数据长度的两倍。

在实现数据时,我应该将数据转换成与输入大小相同的格式。

一点也别改。把它写成二进制数据就行了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31525148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档