我有一个大文件的部分总和,例如,每 50MB,总共有 5 个总和。
我想知道我是否可以从 5 个总和中恢复整个哈希和,即文件的 SHA1sum。可能吗?如果是这样,怎么做?如果不是,为什么不呢?
我正在尝试编写可以在 C# 中执行此操作的代码。
不,这是不可能的。
原因是可能会发生碰撞。不能保证两条不同的数据总是会给出不同的 SHA-1 哈希值。这是极不可能的。
这意味着用于生成哈希的数据是不确定的,因此您永远无法确定它是什么,因此永远无法重建您的原始数据。您需要这样做才能对其进行哈希处理。
虽然无法从部分总和计算文件的 SHA-1 ,但您可以增量计算文件的 SHA-1。请参阅此问题的答案。