反向散列函数

时间:2011-02-12 16:55:31

标签: encoding reverse-engineering hash decoding

我正在尝试理解我正在处理的系统是如何从数字代码开始创建一些哈希代码的。我正在收集其中一些“small_number,big_number”,但我无法弄清楚系统如何编码small_number来获取big_number。解码是可能的,因为系统可以从big_number获得small_number。

数字看起来像这样:

197   >> 29337857947107767585

1078 >> 84080031635590040762

1083 >> 32373003898332638476

1409 >> 79402294967209014727

1498 >> 25254493910542918727

2945 >> 85687067382221703925

2946 >> 88767616208189692328

我根本不知道。你能指出一些阅读吗?

谢谢

1 个答案:

答案 0 :(得分:1)

如果系统可以反转该功能,则该功能根本不是散列函数,而是cipher

看起来输出总是一个20位的数字 - 您是否尝试在非数字输入或大于20位的字符串上进行测试?

在任何一种情况下,系统可能使用众所周知的加密算法(我的猜测是AESDES),因此如果没有密钥,您就无法猜测该功能。

更糟糕的是,如果系统没有直接接受输入但是添加了一些其他信息,那么您可能拥有正确的算法和密钥,但仍未实现。