March 2014 update

This commit is contained in:
Ingy döt Net 2014-04-02 16:56:35 +00:00
parent 09687c4926
commit a25938f123
1846 changed files with 21876 additions and 5203 deletions

View file

@ -45,9 +45,9 @@ const func string: md5 (in var string: message) is func
begin
length := length(message);
# Append the bit '1' to the message.
message &:= '\16#80\';
message &:= '\16#80;';
# Append '0' bits, so that the resulting bit length is congruent to 448 (mod 512).
message &:= "\0\" mult 63 - (length + 8) mod 64;
message &:= "\0;" mult 63 - (length + 8) mod 64;
# Append length of message (before pre-processing), in bits, as 64-bit little-endian integer.
message &:= int64AsEightBytesLe(8 * length);
@ -55,7 +55,7 @@ const func string: md5 (in var string: message) is func
for chunkIndex range 1 to length(message) step 64 do
# Break chunk into sixteen 32-bit little-endian words.
for index range 1 to 16 do
m[index] := bin32(bytesLe2Int(message[chunkIndex + 4 * pred(index) len 4]));
m[index] := bin32(bytes2Int(message[chunkIndex + 4 * pred(index) len 4], UNSIGNED, LE));
end for;
a := bin32(a0 mod 16#100000000);
@ -74,7 +74,7 @@ const func string: md5 (in var string: message) is func
f := b >< c >< d;
g := (3 * index + 2) mod 16 + 1;
else
f := c >< (b | (bin32(16#FFFFFFFF) >< d));
f := c >< (b | (bin32(16#ffffffff) >< d));
g := (7 * pred(index)) mod 16 + 1;
end if;