MD5/Implementation: Difference between revisions

m
→‎{{header|Raku}}: minor simplification
(Replace deprecated functions)
m (→‎{{header|Raku}}: minor simplification)
 
Line 4,812:
=={{header|Raku}}==
(formerly Perl 6)
{{works with|rakudo|20222024-0702}}
<syntaxhighlight lang="raku" line>proto md5($msg) returns Blob is export {*}
multi md5(Str $msg) { md5 $msg.encode }
multi md5(Blob $msg) {
my \bits = 8 * $msg.elems;
my buf8 $buf .= new;
$buf.write-uint32: $buf.elems, $_, LittleEndian for
Line 4,844 ⟶ 4,843:
|map { blob32.new: @$_ },
{
$^b.push(blob8.new(@$_).read-uint32(0)) for (@$msg, 0x80, 0x00 xx (-(bits div 8$msg.elems + 1 + 8) % 64))
.flat.rotor(4);
$b.write-uint64: $b.elems, bits8*$msg.elems, LittleEndian;
$b;
}(buf32.new)
1,934

edits