如果文件名、路径、时间戳或权限发生变化,文件的哈希值是否也会发生变化?
$ echo some contents > testfile
$ shasum testfile
3a2be7b07a1a19072bf54c95a8c4a3fe0cdb35d4 testfile
答案1
文件的哈希值是其内容的哈希值。文件名、时间戳、权限等元数据对哈希没有影响。
假设一个未损坏的加密哈希,当且仅当两个文件具有相同的内容时,它们才具有相同的哈希。最常见的此类哈希是 SHA-2 系列(SHA-256、SHA-384、SHA-512)和 SHA3 系列。这不包括损坏的 MD5 或 SHA-1,也不包括cksum
不是加密散列的 CRC。
答案2
经过简单的测试后,我无法判断。
$ echo some contents > testfile
$ shasum testfile
3a2be7b07a1a19072bf54c95a8c4a3fe0cdb35d4 testfile
$ mv testfile newfile
$ shasum newfile
3a2be7b07a1a19072bf54c95a8c4a3fe0cdb35d4 newfile