是否有可能只计算SHA512哈希的一部分? (C#)

时间:2016-07-13 19:27:44

标签: brute-force sha512

我正在尝试解决keygenme任务。我发现ulong值存储为string。使用SHA512Managed计算哈希值,并且只有16字节的128字节结果很重要。我需要找到存储为ulong的{​​{1}}值,它给出了具有16个特定字节的散列值。 据我所知,SHA算法无法逆转,因此唯一可行的解​​决方案是蛮力方法。有18,446,744,073,709,551,616个可能的ulong值非常多。 因此,问题是“是否可以仅计算16个字节的哈希以减少计算时间?”。 附:如果您知道另一种解决我的任务的方法,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:0)

不,不是。该算法会旋转值,因此在计算时不能将其中的任何部分保留。

从理论上讲,你可以在最后一轮中留下一小部分,但这对于粗暴强迫的时间没有任何实际意义。