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

Publié par beeker dans tuto

Le script fonctionne bien en hebergement mutua1isee

Publié par FOBEC dans CMS

test
commentaire

Publié par vieux dans CMS

et comment ce le procurent ton ?

Publié par Fred dans tuto

J'suis d'accord avec Do, PHP est deja un moteur de template.
Disons que le moteur de template permet de separer le code de la vue pour les debutants qui ont besoin qu'on leur impose des bornes...

Publié par Fobec dans logiciel

prise en charge du format ipV6. L'api est compatible avec tous les ip qu'elles soient au format ipV4 ou ipV6.