Может кто-нибудь помочь мне написать функцию обратного алгоритма для CRC64 в C #? - PullRequest
0 голосов
/ 22 августа 2010

Я работаю над алгоритмом реверсирования CRC64 на C #, но не могу его кодировать.Если кто-нибудь может мне помочь, это будет мило с его стороны.Я отчаянно пытаюсь завершить кодирование.

Ответы [ 2 ]

4 голосов
/ 22 августа 2010

Это невозможно. CRC - это хеш-функция . Хеш-функции нельзя поменять местами. Лучшее, что вы можете сделать, это попытаться найти коллизии для данного хэша, но они предназначены , чтобы их было сложно найти.

0 голосов
/ 22 августа 2010

Вы определенно не сможете повернуть его вспять, так как вы потеряете критические данные при выполнении «прямого» вычисления, которое было бы необходимо для «обратного» вычисления.Вы можете попытаться перебором, если у вас есть какое-то представление о том, каким мог быть ввод, но из-за того, что CRC слабый, может быть много коллизий (то есть вы можете найти множество возможных входов, которые могли бы сгенерировать ваш результат)в этом случае у вас нет возможности узнать, какой из них правильный.

...