在字符串中添加1位数据

0 投票
1 回答
2215 浏览
提问于 2025-04-17 19:52

我想在Python中找到一种方法,把一个'1'的位(bit)加到消息后面,以便重新创建MD5算法,具体可以参考这里

我已经做了一些尝试,但问题是msg实际上是一个字符串:

msg.append(0x01)         
while len(msg)%56!=0: 
     msg.append(0x00)      

我该怎么做呢?

1 个回答

0

使用 chr 函数可以把字节值转换成字符串。然后你可以把这些字符串加到 msg 里面。

msg += chr(0x01 << 8)
while len(msg)%56 != 0:
    msg += chr(0x00)

在 Python 2.7 中,每个 ASCII 字符占用 8 位。所以用这种方法时,你并不是每次只加“1 位”。这就是为什么需要把 1 左移八次的原因。否则你加到字符串里的会是 0b00000001,而不是你想要的 0b10000000

撰写回答