如果文件名改变,文件的哈希值也会改变吗?

如果文件名改变,文件的哈希值也会改变吗?

如果文件名、路径、时间戳或权限发生变化,文件的哈希值是否也会发生变化?

$ 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

相关内容