Suite à mon article sur l'utilisation du versioning, il faut maintenant que je vous explique comment calculer le md5 d'un fichier.
En php, la fonction md5_file permet d'obtenir le md5 d'un fichier.
Utilisation de md5_file
<?php
var_dump(md5_file('/static/style.css'));
?>
Retourne le md5 suivant sous la forme d'une chaine de caractères :
2c3c00e5d8153f7c1860c50c915a5619
Format d'un md5
Un md5 correspond à une chaine de 32 caractères hexadécimaux. Les caractères possible sont vont donc de [0-9] pour les chiffres et de [a-f] pour les lettres.
Avertissement concernant le md5
Le md5 n'est pas une empreinte unique d'un fichier. Ainsi deux fichiers peuvent avoir le même md5, par contre un fichier n'a qu'un seul md5 si sont contenu n'est pas modifié entre les calculs de md5. Cependant l'entropie étant assez grande, il est souvent utilisé pour identifier une chaine de manière unique dans des algorithmes de hash.
Vers un meilleur hash que le md5
Une méthode commune pour créer un hash moins redondant que le md5 est de concaténer la longueur de la chaine au md5 car le risque de trouver deux chaines avec un contenu différent de même longueur ayant le même md5 est infime.
Image : stebulus