Будет ли изменение имени файла воздействовать на хеш файл MD5 файла?
Будет ли изменение имени файла влиять на хеш файл MD5?
Ответ 1
Только если имя файла было включено в расчет хэша. например, в псевдокоде:
$hash1 = md5(contents of file);
$hash2 = md5(name of file + contents of file);
создаст две отдельные хеши.
Ответ 2
Нет, хэш содержит только содержимое файла. Вы можете видеть это в источнике для md5sum
и его реализации MD5. Вы также можете проверить это, если у вас есть доступ к md5sum
:
$ echo "some arbitrary content" > file1
$ cp file1 file2
$ md5sum file1
f0007cbddd79de02179de7de12bec4e6 file1
$ md5sum file2
f0007cbddd79de02179de7de12bec4e6 file2
$
Ответ 3
В Linux, использующем файловую систему EXT, это не так, потому что имя файла не сохраняется в файле, оно хранится в записи каталога (dentry), в которой находится файл, где inode файла затем отображается на имя. Изменение имени файла не повлияет на его md5sum в Linux. В Windows я не могу быть уверен.
Ответ 4
Если хэш вычислен из содержимого файла, он не должен.
Ответ 5
В ESXi (точно ESXi 5.5) md5sum на одном и том же содержимом, но разные имена файлов разные. Это заставляет меня думать, что файловая структура VMFS-5 включает также имя файла. Если нас не интересует имя файла, есть ли способ проверить только md5sum содержимого файла? Я не видел ни одного варианта. Любые предложения?