* fixed for 64 bit targets

git-svn-id: trunk@11597 -
This commit is contained in:
florian 2008-08-17 07:51:15 +00:00
parent 7b467fa2a0
commit e67c03d30a

View File

@ -234,19 +234,19 @@ procedure MD4Transform(var Context: TMDContext; Buffer: Pointer);
procedure R1(var a: Cardinal; b,c,d,x: Cardinal; s: Byte);
// F(x,y,z) = (x and y) or ((not x) and z)
begin
a := rol(a + {F(b,c,d)}((b and c) or ((not b) and d)) + x, s);
a := rol(dword(a + {F(b,c,d)}((b and c) or ((not b) and d)) + x), s);
end;
procedure R2(var a: Cardinal; b,c,d,x: Cardinal; s: Byte);
// G(x,y,z) = (x and y) or (x and z) or (y and z);
begin
a := rol(a + {G(b,c,d)}((b and c) or (b and d) or (c and d)) + x + $5A827999, s);
a := rol(dword(a + {G(b,c,d)}((b and c) or (b and d) or (c and d)) + x + $5A827999), s);
end;
procedure R3(var a: Cardinal; b,c,d,x: Cardinal; s: Byte);
// H(x,y,z) = x xor y xor z
begin
a := rol(a + {H(b,c,d)}(b xor c xor d) + x + $6ED9EBA1, s);
a := rol(dword(a + {H(b,c,d)}(b xor c xor d) + x + $6ED9EBA1), s);
end;
var
@ -290,25 +290,25 @@ procedure MD5Transform(var Context: TMDContext; Buffer: Pointer);
procedure R1(var a: Cardinal; b,c,d,x: Cardinal; s: Byte; ac: Cardinal);
// F(x,y,z) = (x and y) or ((not x) and z)
begin
a := b + rol(a + {F(b,c,d)}((b and c) or ((not b) and d)) + x + ac, s);
a := b + rol(dword(a + {F(b,c,d)}((b and c) or ((not b) and d)) + x + ac), s);
end;
procedure R2(var a: Cardinal; b,c,d,x: Cardinal; s: Byte; ac: Cardinal);
// G(x,y,z) = (x and z) or (y and (not z))
begin
a := b + rol(a + {G(b,c,d)}((b and d) or (c and (not d))) + x + ac, s);
a := b + rol(dword(a + {G(b,c,d)}((b and d) or (c and (not d))) + x + ac), s);
end;
procedure R3(var a: Cardinal; b,c,d,x: Cardinal; s: Byte; ac: Cardinal);
// H(x,y,z) = x xor y xor z;
begin
a := b + rol(a + {H(b,c,d)}(b xor c xor d) + x + ac, s);
a := b + rol(dword(a + {H(b,c,d)}(b xor c xor d) + x + ac), s);
end;
procedure R4(var a: Cardinal; b,c,d,x: Cardinal; s: Byte; ac: Cardinal);
// I(x,y,z) = y xor (x or (not z));
begin
a := b + rol(a + {I(b,c,d)}(c xor (b or (not d))) + x + ac, s);
a := b + rol(dword(a + {I(b,c,d)}(c xor (b or (not d))) + x + ac), s);
end;
var