Обратная функция хеширования - PullRequest
0 голосов
/ 12 февраля 2011

Я пытаюсь понять, как система, над которой я работаю, создает некоторый хэш-код, начиная с числового кода. Я собираю некоторые из этих пар «small_number, big_number», но я не могу понять, как система кодирует small_number для получения big_number. Декодирование возможно, потому что система может получить small_number из big_number.

Числа выглядят так:

197   >> 29337857947107767585

1078 >> 84080031635590040762

1083 >> 32373003898332638476

1409 >> 79402294967209014727

1498 >> 25254493910542918727

2945 >> 85687067382221703925

2946 >> 88767616208189692328

Понятия не имею. Вы тоже можете указать на чтение?

Спасибо

1 Ответ

1 голос
/ 12 февраля 2011

Если система может перевернуть функцию, эта функция вообще не является функцией хеширования, но шифр .

Похоже, что выход всегда представляет собой 20-значное число -Вы пытались протестировать его на нецифровом вводе или на строках длиной более 20 цифр?

В любом случае вполне вероятно, что система использует хорошо известный алгоритм шифрования (я предполагаю, что AES или DES ), поэтому без ключа вы не сможете угадать функцию.

Хуже, если система не принимает данные напрямую, а добавляет какую-то другую информацию, вы можетеимеют правильный алгоритм и ключ, но все еще не осознают его.

...