【发布时间】:2013-03-21 10:50:19
【问题描述】:
我正在寻找一种在 Python 中“将 '1' 位附加到消息”的方法,以便重新创建提到的 MD5 算法 here。
这是我所做的,但问题是msg实际上是一个字符串:
msg.append(0x01)
while len(msg)%56!=0:
msg.append(0x00)
我该怎么办?
【问题讨论】:
-
如果您使用的是 Python 3,也许转换为
bytes有用?例如,bytes(msg.encode('utf-8')) -
对于 python 中的 md5 实现,请参阅 this 脚本。
-
为什么要追加? 概念上 MD5 要求您附加一些东西,但实际上您可以先通过算法运行“消息”,然后单独运行“尾部”(无需重置其间的状态,当然)。
标签: python string md5 bit-manipulation