有没有在文件复制过程中同时生成 MD5 的软件?
单次复制需要时间:500*1024/100/60 = 85 分钟
生成 MD5 校验:85 分钟
复制然后生成 MD5:85*2 = 170 分钟
如果复制的同时生成 MD5,可以节省大量时间,有没有这类软件
最好是 Windows 下的,这样对 NTFS 读写安全一点
单次复制需要时间:500*1024/100/60 = 85 分钟
生成 MD5 校验:85 分钟
复制然后生成 MD5:85*2 = 170 分钟
如果复制的同时生成 MD5,可以节省大量时间,有没有这类软件
最好是 Windows 下的,这样对 NTFS 读写安全一点
说个题外话,写入检验的软件如何保证穿透缓存的?
刚看到一个叫 TeraCopy 的软件,有 Windows 版,支持 10 种哈希算法校验,看几个讨论都说 xxHash 比 md5 快,你可以试试。
细细一品,卧槽,我怎么觉得主的需求很奇葩。。。 不把文件完整地存进第二张盘,然后清空缓存,再读出来,然后再算 MD5,就根本起不到校验拷贝操作的正确性吧。。
我刚才搜索相关软件的时候看了下那些专门做复制功能的商业软件,他们哈希校验都是 after copy,免费版付费版都没有边复制边校验,说明这个做法很可能有致命缺陷,只是我们不熟悉不知道。
生成 MD5 的目的是等几个月、几年以后,磁盘老化了产生 Bitflips 的时候,去检验备份是否完整。
而你们提的校验写入完整,目的是检查当前的磁盘写入是否正确。
假设主的冷备盘是新品品质,电脑也有 ECC,那么磁盘写入是否正确其实是不需要检查的。
主的要求,换句话说,其实是生成一个 MD5 文件,然后把源文件和 MD5 文件一起复制到新硬盘里。
==========
至于复制时计算 MD5,其实只要空余内存大点,复制的时候源数据都会缓存的,直接在旁边跑一个有暂停功能的校验软件就行了。让校验软件的速度和复制进度一样,两个软件会共享读取的数据的。
如果不想手动操作,那就还是老老实实自己写代码实现功能吧。