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

Publié par bapsmaitihere dans logiciel

je souhaite tester

Publié par stux dans java

Génial.. C'est exactement ce que je cherchais.

Publié par Elvine dans java

Bonsoir, je voudrais savoir si ce code peut etre utilise avec Netbeans

Publié par Marcos dans java

Bon travail , mais il a quelque chose d'etrange ! Je devais faire l'interface publique de classe avec des variables de position separees Position NORMAL = null; Position RIGHT = null; et posit...

Publié par taje dans CMS

je suis débutant et je veut participer et évoluer