32-Bit-crc


32-Bit CRC kompatibel mit ZIP und ARJ

Autor: SWAG-SUPPORT-TEAM

{
> Ich war Art von Hoffnung, in Richtung eines Dateinamens eingeleitet werden, die ich finden konnte
> die würde tun, was ich brauche. (Erzeugen von 32-Bit CRC, die kompatibel sind
> Mit PKZIP-Ausgabe).

Ich verfangen dies vor einiger Zeit dieses Echo. Es tut CRC32
verwenden nur TP mit Hilfe einer vorberechnete Tabelle.
Es tut Procduce CRC32-Werte, die als PKZIP und ARJ sind.

---Einheit CRC32C. PAS 8<-----------------------
{Geändert von einer Version geschrieben am Pascal-Echo von Boden
AC Naaijkens (Anmerkung Einführung einer Konstanten und einem
Funktion und machen dem Array eine Konstante außerhalb des
CRC32(), der Geschwindigkeit viel verbessern soll; Weitere
Verweise auf eine C-Version in einer Datei Auszüge aus den
(112 min Links), (H) Elp, mehr? C-Echo als 'Copyright (C) 1986 Gary S. Brown' gekennzeichnet (meist zu
Vergleichen Sie die großen Arrays, die erwies sich als identisch), und zu
'Dateiüberprüfung verwenden CRC' von Mark R. Nelson in Dr. Dobbs
Journal, Mai 1992. Letzteres zur Verfügung gestellt des letzten Stückes des
wichtige Informationen. Verwendung: 1) erstellen Sie eine LongInt-Variable für die
CRC-Wert; 2) initialisieren Sie diese mit CRCSeed; 3) bauen die
CRC Byte für Byte mit CRC32(); 4) enden Sie mit CRCend()
(das war der Teil fand ich in Nelson). Das Ergebnis ist ein CRC
Wert identisch mit dem von PKZip und ARJ berechnet.
}
Einheit CRC32c;
Schnittstelle
Const
CRCSeed = $ffffffff;
CRC32tab: Array [0..255] von LongInt = ()
00000000 $, $77073096, $ee0e612c, $990951ba, $076dc419, $706af48f,
$e963a535, $9e6495a3, $0edb8832, $79dcb8a4, $e0d5e91e, $97d2d988,
$09b64c2b, $7eb17cbd, $e7b82d07, $90bf1d91, $1db71064, $6ab020f2,
$f3b97148, $84be41de, $1adad47d, $6ddde4eb, $f4d4b551, $83d385c7,
$136 c 9856, $646ba8c0, $fd62f97a, $8a65c9ec, $14015c4f, $63066 cd 9,
$fa0f3d63, $8d080df5, $3b6e20c8, $4c69105e, $d56041e4, $a2677172,
$3c03e4d1, $4b04d447, $d20d85fd, $a50ab56b, $35b5a8fa, $42b2986c,
$dbbbc9d6, $acbcf940, $32d86ce3, $45df5c75, $dcd60dcf, $abd13d59,
$26d930ac, $51de003a, $c8d75180, $bfd06116, $21b4f4b5, $56b3c423,
$cfba9599, $b8bda50f, $2802b89e, $5f058808, $c60cd9b2, $b10be924,
$2f6f7c87, $58684 c 11, $c1611dab, $b6662d3d, $76dc4190, $01db7106,
$98d220bc, $efd5102a, $71b18589, $06b6b51f, $9fbfe4a5, $e8b8d433,
$7807c9a2, $0f00f934, $9609a88e, $e10e9818, $7f6a0dbb, $086d3d2d,
$91646 c 97, $e6635c01, $6b6b51f4, $1c6c6162, $856530 d 8, $f262004e,
$6c0695ed, $1b01a57b, $8208f4c1, $f50fc457, $65b0d9c6, $12b7e950,
$8bbeb8ea, $fcb9887c, $62dd1ddf, $15da2d49, $8cd37cf3, $fbd44c65,
$4db26158, $3ab551ce, $a3bc0074, $d4bb30e2, $4adfa541, $3dd895d7,
$a4d1c46d, $d3d6f4fb, $4369e96a, $346ed9fc, $ad678846, $da60b8d0,
$44042 d 73, $33031de5, $aa0a4c5f, $dd0d7cc9, 5005713c $, $270241aa,
$be0b1010, $c90c2086, $5768b525, $206f85b3, $b966d409, $ce61e49f,
$5edef90e, $29d9c998, $b0d09822, $c7d7a8b4, $59b33d17, $2eb40d81,
$b7bd5c3b, $c0ba6cad, $edb88320, $9abfb3b6, $03b6e20c, $74b1d29a,
$ead54739, $9dd277af, $04db2615, $73dc1683, $e3630b12, $94643b84,
$0d6d6a3e, $7a6a5aa8, $e40ecf0b, $9309ff9d, $0a00ae27, $7d079eb1,
$f00f9344, $8708a3d2, $1e01f268, $6906c2fe, $f762575d, $806567cb,
$196 c 3671, $6e6b06e7, $fed41b76, $89d32be0, $10da7a5a, $67dd4acc,
$f9b9df6f, $8ebeeff9, $17b7be43, $60b08ed5, $d6d6a3e8, $a1d1937e,
$38d8c2c4, $4fdff252, $d1bb67f1, $a6bc5767, $3fb506dd, $48b2364b,
$d80d2bda, $af0a1b4c, $36034af6, $41047a60, $df60efc3, $a867df55,
$316e8eef, $4669be79, $cb61b38c, $bc66831a, $256fd2a0, $5268e236,
$cc0c7795, $bb0b4703, $220216b9, $5505262f, $c5ba3bbe, $b2bd0b28,
$2bb45a92, $5cb36a04, $c2d7ffa7, $b5d0cf31, $2cd99e8b, $5bdeae1d,
$9b64c2b0, $ec63f226, $756aa39c, $026d930a, $9c0906a9, $eb0e363f,
$72076785, $05005713, $95bf4a82, $e2b87a14, $7bb12bae, $0cb61b38,
$92d28e9b, $e5d5be0d, $7cdcefb7, $0bdbdf21, $86d3d2d4, $f1d4e242,
$68ddb3f8, $1fda836e, $81be16cd, $f6b9265b, $6fb077e1, $18b74777,
$88085ae6, $ff0f6a70, $66063bca, $11010b5c, $8f659eff, $f862ae69,
$616bffd3, $166ccf45, $a00ae278, $d70dd2ee, $4e048354, $3903b3c2,
$a7672661, $d06016f7, d $4969474, $3e6e77db, $aed16a4a, $d9d65adc,
$40df0b66, $37d83bf0, $a9bcae53, $debb9ec5, $47b2cf7f, $30b5ffe9,
$bdbdf21c, $cabac28a, $53b39330, $24b4a3a6, $bad03605, $cdd70693,
$54de5729, $23d967bf, $b3667a2e, $c4614ab8, $5d681b02, $2a6f2b94,
$b40bbe37, $c30c8ea1, $5a05df1b, $2d02ef8d);
CRC32-Funktion (Wert: Byte; Crc: LongInt): LongInt;
Funktion CRCend (Crc: LongInt): LongInt;

Umsetzung

CRC32-Funktion (Wert: Byte; Crc: LongInt): LongInt;
beginnen
CRC32: CRC32tab = [(Crc Xor LongInt(value)) Byte] Xor
((CRC SHR 8) und $00FFFFFF).);
Ende;

Funktion CRCend (Crc: LongInt): LongInt;
beginnen
CRCend: = (Crc Xor CRCSeed);
Ende;

Ende.

{
Nun, es zu benutzen...

Mit einer Variablen LongInt, sagen vCRC32, zuerst seed es
vCRC32: = CRCSeed;
Dann gehen Sie Byte für Byte Thorugh berechnen:
Für P: = 1 bis Größe
vCRC32: = CRC32 (Bytes [P], vCRC32);

Dann mit CRCend erledigen

vCRC32: = CRCend(vCRC32);

Sollte man in der Lage, Ihre eigene Dec2Hex-Funktion zu schreiben =)
}









32-Bit-crc


32-Bit-crc : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


32-Bit CRC kompatibel mit ZIP und ARJ

Autor: SWAG-SUPPORT-TEAM

{
> Ich war Art von Hoffnung, in Richtung eines Dateinamens eingeleitet werden, die ich finden konnte
> die würde tun, was ich brauche. (Erzeugen von 32-Bit CRC, die kompatibel sind
> Mit PKZIP-Ausgabe).

Ich verfangen dies vor einiger Zeit dieses Echo. Es tut CRC32
verwenden nur TP mit Hilfe einer vorberechnete Tabelle.
Es tut Procduce CRC32-Werte, die als PKZIP und ARJ sind.

---Einheit CRC32C. PAS 8<-----------------------
{Geändert von einer Version geschrieben am Pascal-Echo von Boden
AC Naaijkens (Anmerkung Einführung einer Konstanten und einem
Funktion und machen dem Array eine Konstante außerhalb des
CRC32(), der Geschwindigkeit viel verbessern soll; Weitere
Verweise auf eine C-Version in einer Datei Auszüge aus den
(112 min Links), (H) Elp, mehr? C-Echo als 'Copyright (C) 1986 Gary S. Brown' gekennzeichnet (meist zu
Vergleichen Sie die großen Arrays, die erwies sich als identisch), und zu
'Dateiüberprüfung verwenden CRC' von Mark R. Nelson in Dr. Dobbs
Journal, Mai 1992. Letzteres zur Verfügung gestellt des letzten Stückes des
wichtige Informationen. Verwendung: 1) erstellen Sie eine LongInt-Variable für die
CRC-Wert; 2) initialisieren Sie diese mit CRCSeed; 3) bauen die
CRC Byte für Byte mit CRC32(); 4) enden Sie mit CRCend()
(das war der Teil fand ich in Nelson). Das Ergebnis ist ein CRC
Wert identisch mit dem von PKZip und ARJ berechnet.
}
Einheit CRC32c;
Schnittstelle
Const
CRCSeed = $ffffffff;
CRC32tab: Array [0..255] von LongInt = ()
00000000 $, $77073096, $ee0e612c, $990951ba, $076dc419, $706af48f,
$e963a535, $9e6495a3, $0edb8832, $79dcb8a4, $e0d5e91e, $97d2d988,
$09b64c2b, $7eb17cbd, $e7b82d07, $90bf1d91, $1db71064, $6ab020f2,
$f3b97148, $84be41de, $1adad47d, $6ddde4eb, $f4d4b551, $83d385c7,
$136 c 9856, $646ba8c0, $fd62f97a, $8a65c9ec, $14015c4f, $63066 cd 9,
$fa0f3d63, $8d080df5, $3b6e20c8, $4c69105e, $d56041e4, $a2677172,
$3c03e4d1, $4b04d447, $d20d85fd, $a50ab56b, $35b5a8fa, $42b2986c,
$dbbbc9d6, $acbcf940, $32d86ce3, $45df5c75, $dcd60dcf, $abd13d59,
$26d930ac, $51de003a, $c8d75180, $bfd06116, $21b4f4b5, $56b3c423,
$cfba9599, $b8bda50f, $2802b89e, $5f058808, $c60cd9b2, $b10be924,
$2f6f7c87, $58684 c 11, $c1611dab, $b6662d3d, $76dc4190, $01db7106,
$98d220bc, $efd5102a, $71b18589, $06b6b51f, $9fbfe4a5, $e8b8d433,
$7807c9a2, $0f00f934, $9609a88e, $e10e9818, $7f6a0dbb, $086d3d2d,
$91646 c 97, $e6635c01, $6b6b51f4, $1c6c6162, $856530 d 8, $f262004e,
$6c0695ed, $1b01a57b, $8208f4c1, $f50fc457, $65b0d9c6, $12b7e950,
$8bbeb8ea, $fcb9887c, $62dd1ddf, $15da2d49, $8cd37cf3, $fbd44c65,
$4db26158, $3ab551ce, $a3bc0074, $d4bb30e2, $4adfa541, $3dd895d7,
$a4d1c46d, $d3d6f4fb, $4369e96a, $346ed9fc, $ad678846, $da60b8d0,
$44042 d 73, $33031de5, $aa0a4c5f, $dd0d7cc9, 5005713c $, $270241aa,
$be0b1010, $c90c2086, $5768b525, $206f85b3, $b966d409, $ce61e49f,
$5edef90e, $29d9c998, $b0d09822, $c7d7a8b4, $59b33d17, $2eb40d81,
$b7bd5c3b, $c0ba6cad, $edb88320, $9abfb3b6, $03b6e20c, $74b1d29a,
$ead54739, $9dd277af, $04db2615, $73dc1683, $e3630b12, $94643b84,
$0d6d6a3e, $7a6a5aa8, $e40ecf0b, $9309ff9d, $0a00ae27, $7d079eb1,
$f00f9344, $8708a3d2, $1e01f268, $6906c2fe, $f762575d, $806567cb,
$196 c 3671, $6e6b06e7, $fed41b76, $89d32be0, $10da7a5a, $67dd4acc,
$f9b9df6f, $8ebeeff9, $17b7be43, $60b08ed5, $d6d6a3e8, $a1d1937e,
$38d8c2c4, $4fdff252, $d1bb67f1, $a6bc5767, $3fb506dd, $48b2364b,
$d80d2bda, $af0a1b4c, $36034af6, $41047a60, $df60efc3, $a867df55,
$316e8eef, $4669be79, $cb61b38c, $bc66831a, $256fd2a0, $5268e236,
$cc0c7795, $bb0b4703, $220216b9, $5505262f, $c5ba3bbe, $b2bd0b28,
$2bb45a92, $5cb36a04, $c2d7ffa7, $b5d0cf31, $2cd99e8b, $5bdeae1d,
$9b64c2b0, $ec63f226, $756aa39c, $026d930a, $9c0906a9, $eb0e363f,
$72076785, $05005713, $95bf4a82, $e2b87a14, $7bb12bae, $0cb61b38,
$92d28e9b, $e5d5be0d, $7cdcefb7, $0bdbdf21, $86d3d2d4, $f1d4e242,
$68ddb3f8, $1fda836e, $81be16cd, $f6b9265b, $6fb077e1, $18b74777,
$88085ae6, $ff0f6a70, $66063bca, $11010b5c, $8f659eff, $f862ae69,
$616bffd3, $166ccf45, $a00ae278, $d70dd2ee, $4e048354, $3903b3c2,
$a7672661, $d06016f7, d $4969474, $3e6e77db, $aed16a4a, $d9d65adc,
$40df0b66, $37d83bf0, $a9bcae53, $debb9ec5, $47b2cf7f, $30b5ffe9,
$bdbdf21c, $cabac28a, $53b39330, $24b4a3a6, $bad03605, $cdd70693,
$54de5729, $23d967bf, $b3667a2e, $c4614ab8, $5d681b02, $2a6f2b94,
$b40bbe37, $c30c8ea1, $5a05df1b, $2d02ef8d);
CRC32-Funktion (Wert: Byte; Crc: LongInt): LongInt;
Funktion CRCend (Crc: LongInt): LongInt;

Umsetzung

CRC32-Funktion (Wert: Byte; Crc: LongInt): LongInt;
beginnen
CRC32: CRC32tab = [(Crc Xor LongInt(value)) Byte] Xor
((CRC SHR 8) und $00FFFFFF).);
Ende;

Funktion CRCend (Crc: LongInt): LongInt;
beginnen
CRCend: = (Crc Xor CRCSeed);
Ende;

Ende.

{
Nun, es zu benutzen...

Mit einer Variablen LongInt, sagen vCRC32, zuerst seed es
vCRC32: = CRCSeed;
Dann gehen Sie Byte für Byte Thorugh berechnen:
Für P: = 1 bis Größe
vCRC32: = CRC32 (Bytes [P], vCRC32);

Dann mit CRCend erledigen

vCRC32: = CRCend(vCRC32);

Sollte man in der Lage, Ihre eigene Dec2Hex-Funktion zu schreiben =)
}


32-Bit-crc

32-Bit-crc : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
32-Bit-crc
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung