0

我想测试我的应用程序,当它被错误传递的 SHA-160 总和欺骗时,我想计算对要求和的数据的更改,这会再次导致原始 SHA-160 总和,因此会被遗漏。我正在使用 C++ 中的 Botan 库来计算总和。

如何计算对大约 1500 位的位流的更改,使其 SHA-160 与原始位相同?

4

1 回答 1

3

简短的回答是:你不能。

长答案是:你可以,但必须有大量的计算能力。哈希算法的全部目的是使发现冲突变得困难。如果很容易找到冲突,那么使用哈希算法就没有什么意义了。

为了解决您的测试问题,我建议将应用程序的文件读取/哈希计算部分抽象到一个单独的类中,然后使用假哈希实现对其进行模拟以测试应用程序的其余部分。

于 2012-07-08T12:46:57.443 回答