Open MMMMMoris opened 11 months ago
建议看 https://github.com/M2Team/NanaZip/blob/61723a7eb2472dc1b8fbbc06bba70775eff84ec9/NanaZip.UI.Modern/SevenZip/CPP/7zip/UI/Common/HashCalc.cpp 的实现。看上去是用正常的 EnumerateItems
列文件,然后对每个不是文件夹的东西都整个读入跑 hb.Update
,没有把文件名混进去。
今天怀疑中了勒索病毒,想用哈希校验做些测试。
有两个不同的文件夹,文件夹下的文件数目是一致的,但是文件名不一致。
我的目的是,分别校验两个文件夹下所有文件的哈希总和,然后对比。
我当时想到了NanaZip,因为之前用NanaZip 对多个文件做校验的时候,很惊奇这出来的结果竟然不是各自的哈希,而是总的哈希!
用来试了一下,校验结果是两个文件夹下各个文件单独校验的哈希值完全不同,所有文件总和的哈希一致
现在有个疑问是,NanaZip 是怎么校验所有选中的文件的哈希总和的?
请问原理是把所有文件的元数据加起来计算一遍总的元数据的哈希,
还是把所有文件分别计算出哈希数值之后,再对这些哈希数值进行哈希运算?
这个过程能用PowerShell 的 get-hash 函数配和其他函数实现吗?