有什么能对整个分区的文件进行 checksum 计算、存储和校验的工具吗?

2022-02-23 10:45:54 +08:00
 wudicgi
需要的功能:
- 选择一个分区,能计算所有文件的 SHA-1 或 MD5 校验值
- 文件路径和校验值可以保存到一个纯文本文件中
- 之后打开这个文件,可以校验部分或所有文件
- (可选) 能检测到文件的新增、删除并更新校验值存储文件就更好了

在 Softpedia 上搜过了,在 AlternativeTo 上也看过了十多款 wxChecksums 的替代品
https://alternativeto.net/software/wxchecksums/

没找到一个能满足需求的

不知道是我没找到,还是找错方向了
我感觉有这种工具的话,磁盘 1:1 备份时,检查两个磁盘内容是否一致的开销也能低一些,否则每次要比只能全盘比较
2286 次点击
所在节点    问与答
16 条回复
julyclyde
2022-02-23 12:40:34 +08:00
算 checksum 也需要读整个数据的,所以其实开销没什么区别
loading
2022-02-23 12:51:47 +08:00
只算现有文件效率更高啊。何必舍近求远。
neteroster
2022-02-23 12:58:31 +08:00
了解一下 snapraid ?
wudicgi
2022-02-23 13:01:44 +08:00
我现在备份数据主要靠磁盘离线备份,同样的数据用 2 块磁盘存 2 份
有点担心长时间放置后,文件内容中的某些位可能会改变
存一份 checksum 的话,之后可以验证用
neteroster
2022-02-23 13:03:47 +08:00
另外如果是 Linux ,你说的 1 和 2 可以这样实现

find . -type f -print0 | sort -z | xargs -r0 sha256sum > sha256SumOutput

校验的话考虑用 diff ?
neteroster
2022-02-23 13:06:45 +08:00
@wudicgi #4

你这个需求就是用 snapraid 或者 zfs 比较合适,验证的时候 scrub 一遍就知道所有文件的完整性情况
wudicgi
2022-02-23 13:14:48 +08:00
@neteroster 可能是用些专用工具好些。现在为了自由度高,都是用的 NTFS + 开启 BitLocker
所以就直接去找图形界面的 checksum 工具了
wudicgi
2022-02-23 13:27:07 +08:00
@neteroster 换 ZFS 之类带完整性校验和文件系统现在对我来说可行性不高,还是打算继续用 NTFS
不过你启发我应该换一个思路,不能仅仅是检查文件的完整性,如果有问题最好能修复
我其实能损失一些空间来存储额外的校验信息
dingwen07
2022-02-23 13:30:30 +08:00
wudicgi
2022-02-23 14:17:32 +08:00
顺藤摸瓜找到个 RHash, 满足主贴描述的所有需求
https://alternativeto.net/software/rhash/about/
https://sourceforge.net/projects/rhash/

跨平台的一个命令行工具,虽然没有图形界面但用法挺简单的
wudicgi
2022-02-23 14:19:53 +08:00
RHash 是在 Hash Tools 的 AlternativeTo 页面中发现的
https://alternativeto.net/software/hashtools/

之前在 wxChecksums 的页面中没被列出来
Kagari
2022-02-23 15:14:05 +08:00
rapidcrc
HashCheck
Md5Checker
wudicgi
2022-02-23 16:53:04 +08:00
@Kagari 去查了下,这几个功能都不够用,而且年代久远了
RapidCRC 2005 年 添加目录和所有子目录内所有文件的功能没有
HashCheck 2016 年 是个 shell 扩展,不方便用,功能也远不够
Md5Checker 2007 年 添加目录和所有子目录内所有文件的功能没有
neteroster
2022-06-18 15:42:15 +08:00
虽然过了这么久,最近还是对 Windows 下的完整性校验有需要,想问问楼主 @wudicgi 。看起来 RHash 确实不错,想知道小文件多的话性能咋样,因为我之前自己也写了个工具,但是大量小文件性能很差。
wudicgi
2022-06-18 17:56:03 +08:00
@neteroster 我用的频率很低,而且用 RHash 的场景也没有大量小文件,所以不太清楚这方面性能怎么样
而且估计即使出现性能不佳的情况,我可能也会把它归于机械硬盘而不是软件
totoro625
2022-07-19 23:51:56 +08:00
最近也在看这方便的内容,TeraCopy ( Windows 软件)
可以实现分区上右击进行测试,然后生成 md5 的校验记录并保存到文件
文件路径和校验值都在一个.md5 文件内
直接双击打开即可自动进行文件校验
但是只能看到文件的修改(校验错误)、删除(文件丢失)、无法识别到文件新增、无法直接更新校验值(需要再次点击测试)

另外 snapraid 可以生成多份不可读的私有校验文件,多份不可读的私有备份包

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/835863

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX