Python/Java で (好奇心のために) MD5 を実装しようとしており、ウィキペディアの MD5ページの疑似コードをいずれかの言語に効果的に翻訳しています。まず、Java を使用しましたが、正/負の整数のオーバーフローに不満を感じるだけでした (unsigned int はオプションではないためfor-all integer,-2147483648 <= integer <= 2147483647
)。次に、重い数値計算に適していると判断した後、Python を採用しましたが、符号なし 32 ビット整数の要件も克服できないことに気付きました (Python はすぐにラップされint
た s をlong
s にキャストするため)。
unsigned 32-bit integer
前述の MD5 擬似コードで必要とされるJava/Python の s の欠如を回避する方法はありますか?