summaryrefslogtreecommitdiff
path: root/packages/hash
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-08-17 07:51:15 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-08-17 07:51:15 +0000
commit36f4aa570777e14137539e970bc7699a2a7b6857 (patch)
tree01f6146425207733dea20c9b592782fe28986f64 /packages/hash
parented09242bfb0098fe3953d5f62ad7f7a3d1a201a5 (diff)
downloadfpc-36f4aa570777e14137539e970bc7699a2a7b6857.tar.gz
* fixed for 64 bit targets
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@11597 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/hash')
-rw-r--r--packages/hash/src/md5.pp14
1 files changed, 7 insertions, 7 deletions
diff --git a/packages/hash/src/md5.pp b/packages/hash/src/md5.pp
index 8d51dc43ea..1e030304e5 100644
--- a/packages/hash/src/md5.pp
+++ b/packages/hash/src/md5.pp
@@ -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