【发布时间】:2021-06-21 21:28:20
【问题描述】:
在我的项目中,我想计算文件夹的哈希值。 例如,有 10 个文件夹,这些文件夹有很多子文件。我知道很多方法来获取文件的哈希值,但是有什么方法可以获取每个文件夹的哈希值吗?
我这样做的目的是了解文件夹中的文件是否已更改。
我愿意接受建议和不同的想法,我需要你的帮助。提前致谢。
【问题讨论】:
-
您是在问如何遍历这些文件夹并获取每个文件的哈希值?
-
实际上不,我只想从文件夹中的所有文件中提取一个哈希码。我只有一个文件夹,你可以把它想象成一个 react 项目。这个文件夹应该有一个哈希码,我需要了解其中的任何文件是否已更改。难道不单独散列每个文件就可以做到这一点吗?
-
如果你想对文件的实际内容进行哈希处理,如果不读取每个文件的每个字节并计算每个文件的哈希值或文件夹的组合哈希,就无法做到这一点。我猜你可以只对文件名和文件大小进行哈希处理,并希望这足以检测到更改,但显然长度相同但内容不同(例如更改文件中的一个字符)的文件不会被检测到方式。然后,您可以为每个文件添加修改日期,并可能捕获更多更改。
-
一个简单的 exec
find -type f -exec md5sum "{}" +将产生带有文件路径的每个散列,find -type f -exec md5sum "{}" + | md5sum | cut -c 1-32将散列整个路径,另外,如果您在项目提交状态的散列之后获取最近的提交散列git rev-parse HEAD和/或远程调用git ls-remote origin -h refs/heads/master并将其与本地git rev-parse refs/heads/master进行比较
标签: javascript node.js hash hashcode