一尘不染

合并MD5哈希值

algorithm

在大文件上计算单个MD5校验和时,通常使用哪种技术将各种MD5值组合为单个值?您是否将它们加在一起?我对执行此操作的任何特定语言,库或API都不感兴趣;我只是对它背后的技术感兴趣。有人可以解释如何完成吗?

在伪代码中给出以下算法:

MD5Digest X
for each file segment F
   MD5Digest Y = CalculateMD5(F)
   Combine(X,Y)

但是究竟会Combine做什么呢?它将两个MD5摘要加在一起吗?


阅读 577

收藏
2020-07-28

共1个答案

一尘不染

为了计算太大而无法容纳在内存中的文件的MD5值

考虑到这一点,您不想“组合”两个MD5哈希值。使用 任何
MD5实施,您都有一个对象保持当前校验和状态。因此,您可以随时提取MD5校验和,这在对共享同一开始的两个文件进行哈希处理时非常方便。对于大文件,您只需继续输入数据-
如果一次或成块地对文件进行哈希处理就没有区别,因为会记住状态。在两种情况下,您将获得相同的哈希值。

2020-07-28