MD5/Implementation: Difference between revisions

Content deleted Content added
→‎{{header|Python}}: only use the first 8 byte of the bitsize (otherwise theoretically it could fail for messages bigger than 2 exa-bytes)
Grondilu (talk | contribs)
→‎{{header|Perl 6}}: replace Buffers by Blobs
Line 2,047:
sub little-endian($w, $n, *@v) { (@v X+> ($w X* ^$n)) X% (2 ** $w) }
 
sub md5-pad(BufBlob $msg)
{
my \bits = 8 * $msg.elems;
Line 2,065:
}
 
sub md5(BufBlob $msg --> BufBlob)
{
my @M = md5-pad($msg);
my @H = 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476;
md5-block(@H, @M[$_ .. $_+15]) for 0, 16 ...^ +@M;
BufBlob.new: little-endian(8, 4, @H);
}