Для SHA512-хеша пароль в базе данных MySQL от Python
Этот вопрос основан на ответе.
Я хотел бы знать, как вы можете хэшировать свой пароль с помощью SHA1, а затем удалить открытый текстовый пароль в базе данных MySQL с помощью Python.
Как вы можете хэшировать свой пароль в базе данных MySQL от Python?
4 ответа
Как сказано в документации, вы должны использовать библиотеку hashlib, а не sha с python 2.5.
Сделать хеш довольно легко.
hexhash = hashlib.sha512("some text").hexdigest()
Этот шестнадцатеричный номер будет легко хранить в базе данных.
Если вы храните пароли в базе данных, рекомендуется прочитать статью Джеффа " Вы, вероятно, неправильно храните пароли". В этой статье описывается использование соли и некоторые вещи о хранении паролей, которые обманчиво легко ошибиться.
http://docs.python.org/library/sha.html
Документация Python объясняет это намного лучше, чем я.
Вы не удаляете открытый текстовый пароль, когда хешируете пароль. Вы принимаете входные данные от пользователя, хешируете входные данные и сравниваете хеш-код ввода с хеш-значением, хранящимся в базе данных. Вы никогда не должны хранить или отправлять открытый текстовый пароль, который есть у пользователя.
Тем не менее, вы можете использовать библиотеку sha, как сказал scrager (до Python 2.5), и библиотеку hashlib, как сказал Дэвид Разник в более новых версиях Python.