2016-01-18 4 views
1

Je suis un livre python et l'auteur fournit un exemple d'utilisation de crypt pour produire un mot de passe haché. En utilisant le sel + mot de passe; et plus tard il a mentionné que la même chose pourrait être faite pour sha512 en utilisant la bibliothèque hashlib. J'ai donc essayé d'utiliser hashlib.sha512(password+salt).hexdigest() pour voir si je pouvais trouver mon même mot de passe dans le fichier/etc/shadow, mais je ne vois rien de similaire. J'utilise le sel qui montre dans le cadre de mon mot de passe hash. Est-ce que je le fais correctement, ou que le sel doit être sous forme d'ascii? Est-ce que le sel va d'abord, puis le mot de passe comme hashlib.sha512 (sel + mot de passe) .hexdigest()? le reste de mon code est assez simple. C'est cette partie de trouver le sel et de le hacher correctement. nagios:$6$P9zn0KwR$tgfvvFWJJ5FKmoXiP5rXWOjwoEBOEoAuBi3EphRbJqqjWYvhEM2wa67L9XgQ7W591FxUNklkDIQsk4kij uhE50:16632:0:99999:7:::en utilisant hashlib pour créer un mot de passe sha512

par exemple le sel que je utilise est « P9zn0KwR » est-ce correct ou je dois trouver le texte clair pour que le sel ... merci

Répondre

1

En utilisant des algorithmes de hachage comme MD5 ou SHA * est un façon non sécurisée de stocker les mots de passe, car ils sont trop rapides et peuvent donc être forcés par la force trop facilement.

Jetez un oeil à la Phyton docs, la partie sur l'étirement des touches. Il semble qu'ils ont implémenté le PBKDF2 pour les mots de passe qui est recommandé. Le passlib semble être un bon choix aussi, ils supportent l'algorithme BCrypt.