2 votes

Comment convertir un texte brut en un mot de passe haché dans django ?

Je suis nouveau dans le monde de Django. J'ai déjà migré de SQLite à MySQL. Les informations relatives aux utilisateurs sont stockées dans la table auth_user.

Je dispose de 100 noms d'utilisateur et mots de passe en texte clair. Je dois les insérer dans la table auth_user. Comment puis-je le faire ?

Par exemple, je les insère manuellement avec l'instruction d'insertion ci-dessous.

INSERT INTO `auth_user` (username, `password`, is_superuser ) 
VALUES ('test', 'test_password', 0)

Si je les insère comme ça, je vais exposer le mot de passe en texte clair. Je veux utiliser le mot de passe de hachage de Django.

6voto

mrk Points 23

Vous avez laissé tomber vos utilisateurs en stockant leurs mots de passe en texte clair, mais comme on dit, mieux vaut tard que jamais.

Je suppose que vous avez vos utilisateurs dans une table autre que auth_user (venant de django.contrib.auth ). Parcourez cette table et créez des instances User pour chaque utilisateur.

Appelez le mot_de_passe pour générer le mot de passe haché.

Définit le mot de passe de l'utilisateur avec la chaîne de caractères brute donnée, en prenant soin de l'affichage de l'adresse. hachage du mot de passe. Ne sauvegarde pas l'objet User.

Lorsque le raw_password est None, le mot de passe sera défini comme un mot de passe inutilisable. mot de passe inutilisable, comme si set_unusable_password() était utilisé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X