2013-04-04 2 views
-1

Есть ли способ сделать это? В моем классе сопоставления я хочу дешифровать пароль MD5, когда я извлекаю данные базы данных в сущности. Это возможно?Как расшифровать пароль MD5 в сопоставлении NHibernate?

Спасибо!

+2

Знаете ли вы, что MD5 является односторонней хэш-функцией? –

+0

Да, односторонняя хеш-функция. – Kiwanax

ответ

1

MD5 может использоваться для шифрования паролей. MD5 считается broken. Что вы делаете, так это то, что вы используете пароль с MD5 и сравниваете его с исходным значением хэша в базе данных. Поскольку MD5 является одним из способов, если пароли одинаковы, хеш-значение одинаково.

Edit:

Если вы ищете для взлома зашифрованных паролей MD5, что-то другое. Взгляните на this

Вы туман сначала понимаете, что это не соответствует конкретным технологиям. Это основные компьютерные науки общие понятия, которые могут быть реализованы с использованием различных технологий. В случае вас C# и т.д. NHibernate

Чтобы быть простым, что вы делаете с MD5 (Message-Digest Algorithm 5) есть, вы хэширования. потому что это функция хэширования. взгляните на this.

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

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

В создании пароля вы берете пароль, и вы используете его с помощью MD5 (в вашем случае). Затем это значение хеша - это то, что вы собираетесь хранить в базе данных. Тогда в следующий раз, когда вы захотите проверить погоду, пароль верен. Затем вы снова берете пароль и снова используете его с помощью MD5. то вы берете это значение хеша и сравниваете его с хеш-значением в базе данных. Если они соответствуют вставленному паролю, это правильно.

Я вижу, что вы новичок в SO. Я рекомендую вам сначала изучить эти концепции, и эти концепции помогут вам независимо от того, какую технологию вы используете.

+0

Nice. Но знаете ли вы, как я могу расшифровать полученный пароль, зашифрованный с помощью MD5? Я пытаюсь сделать это с помощью C#, но без успеха. – Kiwanax

+0

Вы хотите, чтобы это взломало пароли ?. не могли бы вы рассказать мне примерно, где вы собираетесь это делать. –

+0

Нет, я просто хочу получить пароль Joomla и расшифровать его. Предпочтительно при отображении NHibernate. Но основным является: получить пароль Joomla и расшифровать его. – Kiwanax

0

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