diff options
| author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-01-28 12:56:27 +0000 |
|---|---|---|
| committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-01-28 12:56:27 +0000 |
| commit | 271904e9e52eb68a81acaa7ec481daaa126c0520 (patch) | |
| tree | c25d961064d2c97a7965530a8f9c3f7a257d3687 /packages/hash/src | |
| parent | 1727fdae2c216531b5b798237c2fb43a20afbae5 (diff) | |
| download | fpc-271904e9e52eb68a81acaa7ec481daaa126c0520.tar.gz | |
* renamed rol/ror functions into rolbyte/rolword/roldword/rolqword
(and the same for ror), because their operation is very dependent on the
operand size, and it's fairly easy to misjudge the bitwidth of the outcome
of an expression in Pascal if you are not intimately familiar with the
language (or if you don't know the exact types of all involved values in
an expression)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@12621 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/hash/src')
| -rw-r--r-- | packages/hash/src/md5.pp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/packages/hash/src/md5.pp b/packages/hash/src/md5.pp index 48e4ad71e5..4dbb3001ec 100644 --- a/packages/hash/src/md5.pp +++ b/packages/hash/src/md5.pp @@ -236,19 +236,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(dword(a + {F(b,c,d)}((b and c) or ((not b) and d)) + x), s); + a := roldword(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(dword(a + {G(b,c,d)}((b and c) or (b and d) or (c and d)) + x + $5A827999), s); + a := roldword(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(dword(a + {H(b,c,d)}(b xor c xor d) + x + $6ED9EBA1), s); + a := roldword(dword(a + {H(b,c,d)}(b xor c xor d) + x + $6ED9EBA1), s); end; var @@ -292,25 +292,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(dword(a + {F(b,c,d)}((b and c) or ((not b) and d)) + x + ac), s); + a := b + roldword(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(dword(a + {G(b,c,d)}((b and d) or (c and (not d))) + x + ac), s); + a := b + roldword(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(dword(a + {H(b,c,d)}(b xor c xor d) + x + ac), s); + a := b + roldword(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(dword(a + {I(b,c,d)}(c xor (b or (not d))) + x + ac), s); + a := b + roldword(dword(a + {I(b,c,d)}(c xor (b or (not d))) + x + ac), s); end; var |
