GitHub 地址: https://github.com/dcsuibian/yohasher
最近在做数据迁移( 30 多 T ),担心传输的过程中出现文件损坏打不开的情况,就做了个递归计算文件夹文件哈希值的小工具。跟 HashMyFiles 这个软件的核心差不多。
优势:
原理:
webkitRelativePath
相比,不需要等待浏览器检索完所有文件后再开始哈希。清空缓存
按钮即清空 IndexedDB 。缺点:
D:/tohashes
,第二次选了E:/tohashes
。定位:
这个工具的作用主要是帮你做好“得到所有文件的哈希值”这一步。
你拿到哈希值以后可以再进行文件校验、比较、去重等,但此工具不涉及这些。我自己的用途上面已经说了,所以至少对我来说是有用的(虽然使用频次也不会很高)。
你也可以直接用命令行工具或者 AI 生成代码的方式来计算文件夹的哈希值,但是可能就没有上述的几点优势了。
1
AX5N 32 天前
`快`——单线程的吞吐量是多少?(每秒多少 MB 或者 GB )
|
2
dcsuibian OP @AX5N
这里的快指的不是计算速度的快。而是整体的快。 我测试了下 一个我的文件夹,里面都是细碎文件,大小 2.55GB ,占用空间 2.57GB ,16819 个文件 如果都只算 SHA-256 ,HashMyFiles 从用户操作的最后一步(点击 OK )到最终计算完成时 59.73 秒 我这个 4 线程的话,只需要 35.08 秒(缓存已清空) 如果是单线程,需要 46.94 秒(缓存已清空) 当然 HashMyFiles 还有什么重复项显示之类的,另外我也没看到他的并行选项。 具体哈希我是直接调库的。我没有对这方面进行优化。主要是我感觉大部分时间不是 CPU 处理的不够快,而是磁盘没跟上。 |