Akankah mengubah nama file mempengaruhi Hash MD5 file?
89
Hanya jika nama file dimasukkan dalam perhitungan hash. misalnya, dalam pseudo-code:
$hash1 = md5(contents of file);
$hash2 = md5(name of file + contents of file);
akan menghasilkan dua hash terpisah.
Tidak, hash hanya untuk konten file. Anda dapat melihat ini di sumber
md5sum
dan implementasi MD5-nya . Anda juga dapat menguji ini jika Anda memiliki akses kemd5sum
:sumber
Di Linux menggunakan sistem file EXT, itu tidak akan, karena nama file tidak disimpan dalam file, itu disimpan di entri direktori (dentry) tempat file tersebut berada, di mana inode file kemudian dipetakan ke sebuah nama. Mengubah nama file tidak akan mempengaruhi md5sum-nya di Linux. Di Windows, saya tidak bisa memastikan.
sumber
md5sum
harus berperilaku seperti yang diharapkan.Jika hash dihitung dari konten file, seharusnya tidak.
sumber
Dalam ESXi (Tepatnya ESXi 5.5) md5sum pada konten yang sama tetapi nama file yang berbeda berbeda. Itu membuat saya percaya bahwa struktur file VMFS-5 juga menyertakan nama file. Jika kami tidak mempermasalahkan nama file, Apakah ada cara untuk memeriksa hanya md5sum konten file? Saya tidak dapat melihat opsi apa pun. Ada saran?
sumber
.vmdk
)? Dalam header vmdk ada data yang bergantung pada nama file dan lokasi. Bagaimana Anda mengganti nama file dalam pengujian Anda? --- Jika tidak dari sudut pandang konten file, VMFS adalah sistem file normal dan konten file tidak secara langsung bergantung pada namanya.Menanggapi komentar tersebut, https://stackoverflow.com/a/14360831/9392847 :
Ini hanya berfungsi jika satu file adalah salinan dari file lain tetapi tidak jika dua file berbeda dengan nama berbeda dibuat dengan konten yang persis sama. Saya sudah mencoba ini:
Baik file 1test.pdf dan 2test.pdf dibuat menggunakan perangkat lunak gimp . Konten yang sama diekspor dua kali dengan dua nama berbeda.
sumber
1.md5 dihitung berdasarkan konten biner FILE. 2. Nama file, terakhir diubah, dll. Hal-hal yang meta data.md5 tidak terlalu bergantung pada meta-data. Saya telah menguji ini dengan langkah-langkah di bawah ini, mari bekerja dengan meta-data "terakhir diubah" i) Saya telah membuat file bernama "a.txt" dan menambahkan beberapa konten dan membuat hash mengatakan hash adalah "xyz" ii) Lalu saya punya baru saja menambahkan spasi di file dan menghitung lagi hash mengatakan itu kembali "abc" iii) Saya baru saja menghapus perubahan saya di langkah (ii), saat menghitung hash lagi saya mendapatkan hash awal ("xyz")
Ini menyimpulkan bahwa meskipun metadata file diubah, hash tetap sama sampai konten file tetap tidak berubah.
Semoga membantu.
sumber