在Python3.7中增加字节对象的斋戒方法是什么?考虑以下内容:
>>> foo = '00000000000000000000000000000000'
>>> bar = binascii.unhexlify(foo)
>>> bar
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
我想将bar
加1,导致b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'
。
如果尝试bar + 1
,我会得到:
>>> bar + 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't concat int to bytes
如果尝试bar + b'1'
,我会得到:
>>> bar + b'1'
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001'
我知道比通过返回foo
(字符串),将其转换为int,递增其,转换回字符串,然后对binascii.unhexlify
执行操作,比遍历十六进制值的方法更快。它。但是我对这些字节对象不熟悉。
编辑
我的最终用途是在保持plaintext
不变的同时,遍历下面的KEY
的许多值。我想将plaintext
从“ 0000000000000000000000000000000000000”带到“ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF”并计算每个值。我想这需要几年时间才能完成,但是我很好奇它会走多快。
from Crypto.Cipher import AES
import binascii
KEY = binascii.unhexlify('AAAABBBBCCCCDDDDEEEEFFFF00001111')
plaintext = binascii.unhexlify('11112222333344445555666677778888')
rijn = AES.new(KEY, AES.MODE_ECB)
ciphertext = rijn.encrypt(plaintext)
binascii.hexlify(ciphertext).decode('utf-8')
在Python3.7中增加字节对象的斋戒方法是什么?请考虑以下内容:>>> foo ='00000000000000000000000000000000'>>> bar = binascii.unhexlify(foo)>>> ...
我也很好奇。一旦程序完成运行,请发布程序的完整输出。哈哈...