Повлияет ли изменение имени файла на хэш 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 содержимого файла? Я не видел другого выхода. Есть предложения?