Publié le 20/12/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Calculer l'empreinte CRC32 d'un fichier

PHP dispose des principales fonctions de hachage, principe d'empreinte d'un string ou d'un fichier. L'empreinte se caractérise par une longueur fixe et l'opération n'est pas réversible contrairement au cryptage. La notion d'empreinte est utilisée pour faciliter les comparaisons d'objet ou pour sécuriser un mot de passe.

Lister les algorithmes disponibles pour le hachage

<?php
  print_r(hash_algos());
?>

Exemple de d'algorithmes de hachage


Array ( [0] => md4
[1] => md5
[2] => sha1
[3] => sha256
[4] => sha384
[5] => sha512
[6] => ripemd128
[7] => ripemd160
[8] => whirlpool
[9] => tiger128,3
[10] => tiger160,3
[11] => tiger192,3
[12] => tiger128,4
[13] => tiger160,4
[14] => tiger192,4
[15] => snefru
[16] => gost
[17] => adler32
[18] => crc32
[19] => crc32b
[20] => haval128,3
[21] => haval160,3
[22] => haval192,3
[23] => haval224,3
[24] => haval256,3
[25] => haval128,4
[26] => haval160,4
[27] => haval192,4
[28] => haval224,4
[29] => haval256,4
[30] => haval128,5
[31] => haval160,5
[32] => haval192,5
[33] => haval224,5
[34] => haval256,5 )
Les algorithmes les plus utilisés sont MD5, SHA et CRC.

Calculer le CRC d'un fichier

Lorsque l'on cherche à savoir si deux fichiers sont identiques, une méthode rapide est de calculer une empreinte de chaque fichier puis de les comparer. Afin d'illustrer la hachage d'un fichier, nous allons utiliser un fichier texte et l'algorithme CRC.

Fichier texte: 123.txt ayant pour contenu 'PHP est le meilleur langage de dev sur le WEB'
script php pour générer la valeur de hachage: crc.php
<?php
/**
 * Exemple pour calculer le CRC du fichier
 */
$file=$_SERVER['DOCUMENT_ROOT'].'/123.txt';
echo hash_file("crc32b", $file);
?>
On obtient l'empreinte suivante: 46c40cfb

Vérification de la méthode du CRC

Afin de vérifier la fiabilité du calcul d'une empreinte, modifions légèrement le fichier texte avec un '!' en fin de phrase.

Fichier texte: 123.txt ayant pour contenu 'PHP est le meilleur langage de dev sur le WEB !'
On obtient l'empreinte suivante: b2172f01

L'ajout d'un seul caractère dans le texte modifie entièrement le CRC obtenu. La méthode de l'empreinte est rapide, efficace et d'une fiabilité correcte.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
php5 - class
Mise a jour
20/12/2010
Visualisation
vu 4315 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Marmz dans java

Super ! pile ce que je cherchais , merci Mr Fobec

Publié par khaoula dans java

s' il vous plait j'ai un projet de fin d'etude et je veux integrer une carte google maps dans une interface avec java et toujours j'aurais des problemes et merci de votre reponse

Publié par slimaneboufnar2011 dans CMS

merci de votre aide <br>

Publié par skud dans java

La methode getTextFile() etant statique, il faut donc l'appeler de maniere statique. Modifier l'exemple de la maniere suivante

System.out.print(HTTPLoader.getTextFile('http://fobec.com/CMS/ind...

Publié par traitstone dans CMS

c'est bou et tres bon chose