Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#3

AW: Integerüberlauf bei MD5-Berechnung

  Alt 11. Okt 2011, 17:18
Das ist der normale Delphi-Wahnsinn. Es ist normal, daß ein Überlauf statt findet. Ein Lösung
Hai!
Code:
{$R-,Q-}

function F(x, y, z: DWORD): DWORD;
begin
   Result := (x and y) or ((not x) and z);
end;

...


// Hier falls nötig wieder einschalten.

// Initialize given Context
procedure MD5Init(var Context: MD5Context);
...
Ein andere (viel langsamere) wäre: alles mit UInt64 rechnen mod 2^32. Das ist nämlich genau die Arithmetik die, gefordert ist.

Crypto und CRC/Hash-Routinen verfragen in aller Regel kein $Q-.
  Mit Zitat antworten Zitat