繁体   English   中英

如何在python中遍历字节的每个可能值?

[英]How do I loop through every possible value of a byte in python?

我正在为我的信息安全课程进行Padding Oracle Attack。 在不深入探讨攻击细节的情况下,我需要有一个for循环,该循环遍历所有可能的1字节十六进制值。

我需要做的伪代码:

for x in range('\x00', '\xFF'):
    replace last byte of ciphertext with byte
    perform padding check

我不知道该怎么做。 有任何想法吗?

字节实际上只是0-255(含)范围内的整数,或十六进制的0到FF。 生成整数,然后从中创建字节值。 bytes()类型采用整数列表,因此创建一个长度为1的列表:

for i in range(0xff):
    b = bytes([i])

如果将密文存储在bytearray()对象中 ,则甚至可以直接使用整数来简单地替换最后一个字节:

ciphertext_mutable = bytearray(ciphertext)
for i in range(0xff):
    ciphertext_mutable[-1] = i  # replace last byte

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM