如何增加python“字节”对象

问题描述 投票:0回答:1

在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)>>> ...

python hex byte increment
1个回答
0
投票

我也很好奇。一旦程序完成运行,请发布程序的完整输出。哈哈...

© www.soinside.com 2019 - 2024. All rights reserved.