La modification d'un nom de fichier affectera-t-elle le hachage MD5 d'un fichier?
Uniquement si le nom du fichier a été inclus dans le calcul du hachage. par exemple, dans un pseudo-code:
$hash1 = md5(contents of file);
$hash2 = md5(name of file + contents of file);
produira deux hachages séparés.
Non, le hachage concerne uniquement le contenu du fichier. Vous pouvez le voir dans la source de md5sum
et son implémentation MD5 . Vous pouvez également tester cela si vous avez accès à md5sum
:
$ echo "some arbitrary content" > file1
$ cp file1 file2
$ md5sum file1
f0007cbddd79de02179de7de12bec4e6 file1
$ md5sum file2
f0007cbddd79de02179de7de12bec4e6 file2
$
Sous Linux utilisant le système de fichiers EXT, il ne le sera pas, car un nom de fichier n'est pas stocké dans un fichier, il est stocké dans l'entrée de répertoire (dentry) dans laquelle se trouve le fichier, où l'inode du fichier est ensuite mappé sur un nom. Changer un nom de fichier n'aura aucun effet sur sa somme md5 sous Linux. Sous Windows, je ne peux pas en être sûr.
Si le hachage est calculé à partir du contenu du fichier, il ne devrait pas.
Dans ESXi (précisément ESXi 5.5) md5sum sur le même contenu mais des noms de fichiers différents est différent. Cela m'amène à croire que la structure de fichiers VMFS-5 inclut également le nom de fichier. Si nous ne sommes pas préoccupés par le nom du fichier, existe-t-il un moyen de vérifier uniquement la somme md5 du contenu du fichier? Je ne voyais aucune option. Aucune suggestion?