由于已进行复制,源驱动器或目标驱动器上没有损坏?

由于已进行复制,源驱动器或目标驱动器上没有损坏?

.
定义:
哈希函数是一种
将任意长度的消息压缩为
固定长度的短摘要的算法。

进行 3 次哈希运算(md5、sha1、sha512)是否 比进行 1 次哈希运算(md5)
更确定?

如何接近绝对地验证文件是否相同?

换句话说:

3 个成功的哈希值(md5、sha1、sha512)是否可以更确定
源文件和
目标文件是相同的?

(建议:
自从复制以来,两个驱动器都没有损坏)
一个问题是:
自从文件复制以来,媒体可能会损坏。

复制和哈希(md5)完成后,重新启动计算机,并在重新启动后进行比较(哈希)。

为什么要使用 3 个不同的哈希值?
使用 3 个不同的哈希值可以更确定复制后没有损坏的文件。

细节:

计算机 1
D:\Temp 为 200 GB = 200,123,456,000 字节,
约 104,000 个文件
Windows 将
D:\Temp 复制到 S:\Temp(S = 存储硬盘驱动器)

MD5 哈希通过,Ok
D:\Temp = S:\Temp(全部正确)

将(S = 存储硬盘驱动器)移至计算机 2 来执行长程序。

计算机 2
复制(S = 存储硬盘驱动器,S:\Temp)到 U:\temp
U 驱动器是 USB 2.0 驱动器 256 GB 记忆棒。


从硬盘驱动器到 USB 2.0 记忆棒的 200 GB 哈希测试结果:

151 分钟到 DirHash_md5
150 分钟到 DirHash_sha1
152 分钟到 DirHash_sha512

每次哈希运算花费的时间大致相同,
约为 151 分钟。

151 分钟完成 1 次哈希运算或
453 分钟完成 3 次哈希运算(md5、sha1、sha512)。

DirHash.exe = 336 KB(344,624 字节)
https://www.idrix.fr/Root/content/category/7/31/46/
作者:Mounir IDRASSI 版权所有 2010-2018

带有示例输出的批处理文件示例:

“C:\dirhash.exe” “S:\temp” sha1 -progress -nowait -quiet u:\DirHash_sha1_S_Temp.txt

B0C4CFECD3DC13B22EA3D6E26AE4FB167D5F38D7
B0C4CFECD3DC13B22EA3D6E26AE4FB167D5F38D7

“C:\dirhash.exe” “U:\temp” sha1 -progress -nowait -quiet u:\DirHash_sha1_U_Temp.txt

windows 文件比较:
FC.exe /b
“u:\DirHash_sha1_S_Temp.txt”
“u:\DirHash_sha1_U_Temp.txt”

FC:没有发现任何差异

换句话说:
3 个成功的哈希值(md5、sha1、sha512)是否可以
更确定
源文件和
目标文件是相同的?

(建议:由于进行了复制,所以两个驱动器均未损坏)

--

答案1

执行三次哈希运算(md5sha1sha512)是否会比执行一次哈希运算( )更具确定性md5

不太可能,除非您怀疑文件可能被第三方篡改。对于简单的“这些文件相同”计算,任何哈希算法(包括md5)都应该没问题。

如何接近绝对地验证文件是否相同?

使用强哈希算法(例如sha1或最好sha512),它是耐碰撞

三次成功的哈希值(md5,,sha1)是否可以sha512更确定源文件和目标文件是相同的?

不,一般来说不是,至少据我所知不是。

一个担心是,文件复制后,媒体可能会腐烂。

md5在大多数情况下应该足以检测到这种现象。

每次哈希运算花费的时间大约相同,约为 151 - 152 分钟。

然后,作为建议,您应该使用您认为最适合您情况的(单个)哈希。

Windows 文件比较:未发现任何差异

那么一切可能都是一样的。

相关内容