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?
Réponses:
Uniquement si le nom du fichier a été inclus dans le calcul du hachage. par exemple, en 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 sourcemd5sum
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, ce ne sera pas le cas, 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 réside le fichier, où l'inode du fichier est ensuite mappé à un nom. Changer un nom de fichier n'aura aucun effet sur sa somme md5 sous Linux. Sous Windows, je ne peux pas être sûr.
md5sum
doit se comporter comme prévu.
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 sont différents. Cela me porte à croire que la structure de fichier VMFS-5 comprend é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 n'ai vu aucune option. Aucune suggestion?
.vmdk
)? Dans les en-têtes vmdk, il y a des données qui peuvent dépendre du nom et de l'emplacement du fichier. Comment avez-vous renommé les fichiers de votre test? --- Sinon, du point de vue du contenu des fichiers, VMFS est un système de fichiers normal et le contenu des fichiers ne dépend pas directement de leurs noms.
En réponse au commentaire, https://stackoverflow.com/a/14360831/9392847 :
Cela ne fonctionne que si un fichier est une copie d'un autre fichier, mais pas lorsque deux fichiers différents avec des noms différents sont générés avec exactement le même contenu. J'ai essayé ceci:
nancy@nancy:~/Documents$ md5sum /home/nancy/Documents/1test.pdf
c5a445b7186dfb220ea79d2001acf3f1 /home/nancy/Documents/1test.pdf
nancy@nancy:~/Documents$ md5sum /home/nancy/Documents/2test.pdf
cefa063abf0c0a9e80b2b75e70100836 /home/nancy/Documents/2test.pdf
Les fichiers 1test.pdf et 2test.pdf sont créés à l'aide du logiciel gimp . Le même contenu est exporté deux fois avec deux noms différents.
1.md5 est calculé sur la base du contenu binaire du FICHIER. 2.Nom du fichier, dernière modification, etc. J'ai testé cela avec les étapes ci-dessous, travaillons avec les méta-données "dernière modification" i) J'ai créé un fichier nommé "a.txt" et ajouté du contenu et créé un hachage dit que le hachage est "xyz" ii) Ensuite, j'ai vient d'ajouter un espace dans le fichier et de nouveau calculé le hachage, dire qu'il a renvoyé "abc" iii) Je viens de supprimer mon changement à l'étape (ii), en calculant à nouveau le hachage, j'ai le hachage initial ("xyz")
Cela conclut que même si les métadonnées du fichier sont modifiées, le hachage reste le même jusqu'à ce que le contenu du fichier reste inchangé.
J'espère que ça aide.