использование hashlib для создания пароля sha512

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

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


person miatech    schedule 18.01.2016    source источник


Ответы (1)


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

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

person martinstoeckli    schedule 19.01.2016