begin process at 2012 02 11 15:06:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Système

 > 

Fichier & Disque

 > 

Calculateur de Block dans une Chaine de caractere


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Calculateur de Block dans une Chaine de caractere

Echange clos Echange clos, plus de réponse possible sur cet échange

dimanche 29 avril 2007 à 23:31:27 | Calculateur de Block dans une Chaine de caractere

Napster

salut ,
j'ai un petit souci a ce calculateur de CRC32
voila un extrait de ma source binaire :
55 AA 01 01 00 17 17 6C 01 73 29 34 21 15 5A 5A
00 00 7F E6 00 00 00 00 10 00 60 BB 76 21 22 2B
22 5E D7 76 D3 76 51 D4 40 73 E0 40 D2 45 D8 41
37 C9 B3 51 5A 5A .......................etc
voila ce que que presente mon fichier binaire
il a des separteurs 5A5A
de 55AA Jusqua 5A5A ce présente comme un block et apres
de 00 juqua 5A5A ces le 2eme block et ainsi de suite les séparateurs de blocks ces 5A5A .
ici on calcule le checksum .
comment calculer un checksum
on prend la 1er ligne ou le premier Block
on calcule le checksum de 55AA jusqua 0173 ce qui veu dire le checksum ces positionné 4byte avant 5A5A . voila procedure de ce calculateur et meme il calcule et s'il a trouve le checksum Faux il le remplace un le Bon et ainsi de suite avec tout le fichier qui contient 2MegaOctet .
le Code du Checksum :
unit CRC32;
 
interface
 
procedure CalcCRC32(p: pointer; n: integer; var crc32: longword);
 
implementation
 
procedure CalcCRC32(p: pointer; n: integer; var crc32: longword);
const crc32table: array[0..255]oflongword = (
    $00000000, $77073096, $ee0e612c, $990951ba,
    $076dc419, $706af48f, $e963a535, $9e6495a3,
    $0edb8832, $79dcb8a4, $e0d5e91e, $97d2d988,
    $09b64c2b, $7eb17cbd, $e7b82d07, $90bf1d91,
    $1db71064, $6ab020f2, $f3b97148, $84be41de,
    $1adad47d, $6ddde4eb, $f4d4b551, $83d385c7,
    $136c9856, $646ba8c0, $fd62f97a, $8a65c9ec,
    $14015c4f, $63066cd9, $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, $58684c11, $c1611dab, $b6662d3d,
    $76dc4190, $01db7106, $98d220bc, $efd5102a,
    $71b18589, $06b6b51f, $9fbfe4a5, $e8b8d433,
    $7807c9a2, $0f00f934, $9609a88e, $e10e9818,
    $7f6a0dbb, $086d3d2d, $91646c97, $e6635c01,
    $6b6b51f4, $1c6c6162, $856530d8, $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,
    $44042d73, $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, $196c3671, $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, $4969474d, $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
  );
type
  buffer = array[0..0]ofbyte;
var
  i: integer; q: ^buffer; begin
  crc32 := crc32 xor$ffffffff;
 
  q := p;
  for i := 0to n-1do
    crc32 := crc32table[(crc32 xor(q^[i]))and$ff]xor(crc32 shr8);
 
  crc32 := crc32 xor$ffffffff;
end;
 
end.est Merci D'avance .



Cette discussion est classée dans : checksum, crc32, block, 5a5a, calculateur


Sujets en rapport avec ce message

Extraire un block qui contien des chaines de caractere [ par Napster ] salut  ,mon souçi dans cette example et d'extraire des block qui se separent par 88AA et pour calculer leur checksum le checksum  se calcule comme sui Traitement de fichier binaire [ par Napster ] salut ,salut , j'ai un petit souci a ce calculer une chaine de caractaire  de CRC32 voila un extrait de ma source binaire : BB AA 01 01 00 17 17 6C 01 Checksum 32 bit [ par Smith4400 ] slt,j'ai trop chercher mais j'ai pas trouvé auccune choses sur le "Checksum 32 bit" et pas "CRC32" pouvez-vous m'aider???Je cherche une fonction pour Tableau dynamique, portee des variables [ par jderf ] Dans une unite j'avais une procedure avec un tableau dynamique en paramêtre (passage du pointeur du tableau sans le out, puisque les tab dyna sont des Lecture d'un fichier [ par intello2001 ] je cherche a lire un fichier sequentielemenent (block de caractere par block de caractere) tout se que je sais c quil faut utiliser seek pour definir 1344 Checksums !! [ par Balblas ] Salut,Voilà mon problème: j'ai un fichier bin qui contient 1344 packets dont chacun est de taille 1024 Ko et protégé par checksum 16 bits, c'est à dir


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales