Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#5

Re: DEC 5.1 CRC-32 vs WinRAR CRC-32

  Alt 8. Dez 2006, 22:20
Delphi-Quellcode:
function GetCRC32Check(FileName:String): String;

  function Swap(Value: Cardinal): Cardinal;
  asm
     BSWAP EAX
  end;

var
  FS: TFileStream;
  CRC: TCRCDef;
begin
  FS := TFileStream.Create(FileName, fmOpenRead);
  try
    CRCSetup(CRC, $EDB88320, 32, $FFFFFFFF, $FFFFFFFF, True/False);
    CRCCodeEx(CRC, FS.Read);
    Result := IntToHex(Swap(CRCDone(CRC)), 4);
  finally
    FS.Free;
  end;
end;
1.) das Polynom $EDB88320 ist nicht das CCITT Polynom
2.) im obigen CRCSetup() den True/False Parameter testen
3.) das Swap() eventuell weglassen, ich meine das die Big Endian benutzen
4.) ob das Polynom $EDB88320 richtig ist weis ich allerdings nicht

Gruß Hagen
  Mit Zitat antworten Zitat