Einzelnen Beitrag anzeigen

BlueStarHH
Online

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: CRC32 mit DEC erzeugt stimmt nicht?

  Alt 24. Jul 2009, 16:31
Zitat von gammatester:
Die Erklärung für die unterschiedlichen CRC-Werte hat himitsu doch schon gegeben. Wenn in Deiner Datei die neun Asciizeichen '1'..'9' bzw #49..#57 stehen, und die CRC $CBF43926 sein soll, so muss definitiv diese CRC genommenen werden, mit folgenden Rocksoft-Parametern:

Code:
CRC32_Zip: TCRCParam = (poly  : longint($04C11DB7);
                        init  : longint($FFFFFFFF);
                        xorout : longint($FFFFFFFF);
                        check : longint($CBF43926);
                        width : 32;
                        refin : true;
                        refout : true;
                        name  : 'CRC32/Zip');
                       {alias : 'CRC-32'}
                       {alias : 'CRC-32/ADCCP'}
                       {alias : 'PKZIP'}

Und beim DEC ist das nun mal CRC_32.
Nein, beim DEC ist $04C11DB7 die CRC_32CCITT. Hier der Code aus dem DEC:

Delphi-Quellcode:
  procedure CRCTab;
  asm
    // Polynom Bits InitVec FinitVec Inverse
    DD $000000D1, 8, $00000000, $00000000, -1 // CRC_8 GSM/ERR
    DD $00000233, 10, $00000000, $00000000, -1 // CRC_10 ATM/OAM Cell
    DD $0000080F, 12, $00000000, $00000000, -1 // CRC_12
    DD $00008005, 16, $00000000, $00000000, -1 // CRC_16 ARC,IBM
    DD $00001021, 16, $00001D0F, $00000000, 0 // CRC_16 CCITT ITU
    DD $00008408, 16, $00000000, $00000000, -1 // CRC_16 XModem
    DD $00864CFB, 24, $00B704CE, $00000000, 0 // CRC_24
    DD $9DB11213, 32, $FFFFFFFF, $FFFFFFFF, -1 // CRC_32
    DD $04C11DB7, 32, $FFFFFFFF, $FFFFFFFF, -1 // CRC_32CCITT
    DD $04C11DB7, 32, $FFFFFFFF, $00000000, -1 // CRC_32ZModem
  Mit Zitat antworten Zitat