web-dev-qa-db-fra.com

La modification d'un nom de fichier affectera-t-elle le hachage MD5 d'un fichier?

La modification d'un nom de fichier affectera-t-elle le hachage MD5 d'un fichier?

80
Michael Shnitzer

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.

29
Marc B

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
$
185
jameshfisher

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.

4
GL2014

Si le hachage est calculé à partir du contenu du fichier, il ne devrait pas.

1
Ted Hopp

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?

0
Venfah Nazir