我正在尝试在 Python/Java 中实现 MD5(出于好奇),并且正在有效地将维基百科 MD5页面的伪代码翻译成任何一种语言。首先,我使用 Java,只是因为它的负/正整数溢出而感到沮丧(因为无符号整数不是一个选项,for-all integer,-2147483648 <= integer <= 2147483647
)。然后我使用了 Python,在确定它更适合繁重的数值计算之后,但意识到我也无法克服无符号 32 位整数的要求(因为 Python 立即将包装int
的 s 转换为long
s)。
有什么办法可以解决unsigned 32-bit integer
前面提到的 MD5 伪代码所要求的 Java/Python 缺少 s 的问题?