Повлияет ли изменение имени файла на хэш MD5 файла?

изменение эффекта имя файла MD5-хэш файла?

5 ответов


только если имя файла было включено в вычисления хэша. например, в псевдо-коде:

$hash1 = md5(contents of file);
$hash2 = md5(name of file + contents of file);

произведет два отдельных хэша.


нет, хэш имеет только содержимое файла. Вы можете увидеть это в источник md5sum и его реализация MD5. Вы также можете проверить это, если у вас есть доступ к md5sum:

$ echo "some arbitrary content" > file1
$ cp file1 file2
$ md5sum file1
f0007cbddd79de02179de7de12bec4e6  file1
$ md5sum file2
f0007cbddd79de02179de7de12bec4e6  file2
$

в Linux, использующем файловую систему EXT, это не будет, потому что имя файла не хранится в файле, оно хранится в записи каталога (dentry), в которой живет файл, где индекс файла затем сопоставляется с именем. Изменение имени файла не повлияет на его md5sum в Linux. В Windows я не могу быть уверен.


Если хэш вычисляется из содержимого файла, он не должен.


в ESXi (точно ESXi 5.5) md5sum на том же содержимом, но разные имена файлов отличаются. Это заставляет меня полагать, что файловая структура VMFS-5 также включает имя файла. Если нас не волнует имя файла, есть ли способ проверить только md5sum содержимого файла? Я не видел другого выхода. Есть предложения?