我正在尝试解决keygenme任务。我发现ulong
值存储为string
。使用SHA512Managed
计算哈希值,并且只有16字节的128字节结果很重要。我需要找到存储为ulong
的{{1}}值,它给出了具有16个特定字节的散列值。
据我所知,SHA算法无法逆转,因此唯一可行的解决方案是蛮力方法。有18,446,744,073,709,551,616个可能的ulong值非常多。
因此,问题是“是否可以仅计算16个字节的哈希以减少计算时间?”。
附:如果您知道另一种解决我的任务的方法,请告诉我。谢谢!
答案 0 :(得分:0)
不,不是。该算法会旋转值,因此在计算时不能将其中的任何部分保留。
从理论上讲,你可以在最后一轮中留下一小部分,但这对于粗暴强迫的时间没有任何实际意义。