Filesystems
為什麼更改文件名不會更改其校驗和?
據我所知,即使更改一點文件,也會更改整個校驗和結果,但是當我更改文件名時,這不會影響其校驗和(我嘗試過 SHA-1、SHA-256 和 MD5)。
為什麼?文件名不是文件數據的一部分?它取決於文件系統嗎?
文件名是目錄條目中的字元串,許多其他元數據(文件類型、權限、所有權、時間戳等)儲存在 inode 中。因此,文件名不是構成文件實際數據的一部分。事實上,單個文件在文件系統中可能有任意數量的名稱(硬連結),並且還可以通過任意數量的任意命名的符號連結進行訪問。
md5
由於文件名不是文件數據的一部分,因此當您使用或md5sum
或某些類似實用程序計算 MD5 校驗和時,它不會自動包含在內。因此,更改文件的名稱(或所有權或時間戳或權限等)或通過其其他名稱或符號連結之一訪問它(如果有的話)不會對文件的 MD5 校驗和產生任何影響。