2016-01-18 8 views
1

Я следую за книгой python, и автор дает пример использования crypt для создания хешированного пароля. Использование соли + пароль; и позже он упомянул, что то же самое можно было бы сделать для sha512 с использованием библиотеки hashlib. Поэтому я попытался использовать hashlib.sha512(password+salt).hexdigest() , чтобы узнать, могу ли я создать свой же пароль в файле/etc/shadow, но я не получаю ничего подобного. Я использую соль, которая отображается как часть моего хэша пароля. Правильно ли я делаю это, или что соль должна быть в форме ascii? Также соль сначала идет, а затем пароль, например hashlib.sha512 (соль + пароль) .hexdigest()? остальная часть моего кода довольно проста. Это та часть, что нужно найти соль и правильно ее использовать. nagios:$6$P9zn0KwR$tgfvvFWJJ5FKmoXiP5rXWOjwoEBOEoAuBi3EphRbJqqjWYvhEM2wa67L9XgQ7W591FxUNklkDIQsk4kij uhE50:16632:0:99999:7:::Использование hashlib для создания пароля sha512

, например, соли я использую «P9zn0KwR» это правильно, или мне нужно найти четкий текст для этой соли ... спасибо

ответ

1

Использование алгоритмов хэширования, как MD5 или SHA- * является небезопасный способ хранения паролей, потому что они слишком быстры, и поэтому их можно легко перенаправлять.

Посмотрите на Phyton docs, деталь о растяжении ключа. Похоже, что они внедрили PBKDF2 для паролей, которые рекомендуются. passlib, кажется, тоже хороший выбор, они поддерживают алгоритм BCrypt.