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 4266 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par inf0mag dans news

Et avec les objets connectes, a va encore exploser !

Publié par Jacky dans tuto

Yes ! Merci pour l'astuce, c'est ce qu'il me fallait :) !

Publié par Tytydodo dans java

Top cool merci cela ma super aide!!!

Publié par Ludwig dans tuto

Bonjour,
Il me semble que les plugins de gestion d'images sont payants pour TinyMCE et CKeditor, est-ce toujours le cas ?
Il manque amha l'excellent Xinha dans cette liste, qui lui est Open Sour...

Publié par amelia dans java

pour 30 sa donne 1346269