Расшифровка SHA1 в VB.Net - PullRequest
       41

Расшифровка SHA1 в VB.Net

0 голосов
/ 26 января 2011

Возможно ли расшифровать строку SHA1 в VB.Net, зная ключ?

Ранее я видел "расшифровку" учетных данных, однако - в Java: http://pastebin.com/P0LuN00P

Ответы [ 3 ]

1 голос
/ 26 января 2011

Я думаю, что вы неправильно поняли SHA1. SHA1 - это не алгоритм шифрования, это хеш-функция.

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

Обычно функции хеширования используются для хеширования пароля пользователя, сохранения его в базе данных на сервере. Когда серверу предоставляется пароль от пользователя, сервер проверяет правильность пароля, проверяя, дает ли хеширование того же результата, что и в базе данных. Если злонамеренный пользователь захватывает то, что хранится в базе данных, он не может узнать действительный пароль, поскольку очень трудно перейти от хеша к строке, используемой для создания хеша.

1 голос
/ 26 января 2011

Весь смысл SHA1 состоит в том, чтобы сделать это невозможным.

Однако у SHA1 есть слабые стороны, которые делают это менее невозможным.
Вы должны использовать SHA512, чтобы сделать это более невозможным.

Возможно, вы ищете Rijndael, (хороший) алгоритм симметричного шифрования.

0 голосов
/ 26 января 2011

SHA1 не зашифрован, он хешируется. Так что нет, это невозможно расшифровать. Вы можете попробовать Rainbow Tables: http://www.freerainbowtables.com/

...