2013-08-21 3 views
-1

Я использую следующий код, чтобы преобразовать строку в хэш md5:hashlib md5 фактически не превращается в md5?

password = passwd.hexdigest() 

ПАРОЛЬ должен быть «test123» так, мол, превращая, что в хэш md5.

Это дает мне следующее:

6adf97f83acf6453d4a6a4b1070f3754 

Теперь, когда вы расшифровать этот хэш, он не возвращается к "test123.

Это правильный md5 хэш, который восходит к «test123»:

cc03e747a6afbbcbf8be7668acfebee5 

Это код:

passw = request.forms.get('password') 
password = hashlib.md5(str(passw)).hexdigest() 

Как я могу решить эту проблему, так что это дает мне правильный обратимых хэш?

+1

Что такое 'passwd.hexdigest'? Что вы подразумеваете под «* Теперь, когда вы расшифровываете этот хэш, он не возвращается к test123 *"? –

+2

'hashlib.md5 (" test123 "). Hexdigest()' дает мне 'cc03e747a6afbbcbf8be7668acfebee5' .. – alecxe

+0

@JonClements Я отредактировал исходное сообщение. –

ответ

3

6adf97f83acf6453d4a6a4b1070f3754 на самом деле значение md5 «None», так что, возможно, вы что-то ошибаетесь в другом месте.

Предположим, вы на самом деле не получили passw из request.forms и разобрали None на str(), а затем передали его в md5(). Hexdigest(), вы получите результат.

+0

Это может работать, но это должно быть от request.forms. –

+1

@JasonDecastro Вы можете просто попытаться зарегистрировать или распечатать результат '' request.forms.get ('password') '', и если вы передали что-то '' password'' и получите '' None'', вы проблема в этой части - и это другой вопрос, чем «hashlib md5 на самом деле не превращается в md5?» –

+2

@JasonDecastro код, который вы опубликовали, означает, что не отправляется поле 'password' ... попробуйте изменить на' request.forms ['password'] 'и обрабатывать любые' KeyError' вместо этого ... –

 Смежные вопросы

  • Нет связанных вопросов^_^