IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Problème hachage de mot de passe


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 44
    Par défaut Problème hachage de mot de passe
    Bonjour à tous !

    J'ai un petit problème, j'utilise Django pour faire un petit site et je voudrais hacher les mots de passe que les utilisateurs créent. J'ai décidé d'utiliser Bcrypt mais lorsque je remplis le formulaire d'inscription et que je le valide j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception Type: DataError
    Exception Value: ERREUR:  valeur trop longue pour le type character varying(30)
    Au début je pensais que c'était parce qu'au niveau de mon attribut password j'avais mis maximum 20 caractères donc j'ai modifié à 256 caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class User(models.Model):
        username = models.CharField(max_length=50, unique=True)
        email = models.EmailField(max_length=100, unique=True)
        password = models.CharField(max_length=256)
     
        def __str__(self):
            return self.username
    Mais j'ai toujours cette erreur, je vous mets mon views.py où j'utilise Bcrypt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    from django.shortcuts import render, redirect
    from .forms import UserSignUpForm, ParagraphErrorList
    from django.contrib import messages
    from .models import User
    import bcrypt
     
    def signup(request):
        if request.method == 'POST':
            form = UserSignUpForm(request.POST, error_class=ParagraphErrorList)
            if form.is_valid():
                email = form.cleaned_data['email']
                username = form.cleaned_data['username']
                password = form.cleaned_data['password'].encode("utf-8")
     
                enc_password = bcrypt.hashpw(password, bcrypt.gensalt())
     
                user = User.objects.filter(email=email, username=username)
                if not user.exists():
                    user = User.objects.create(
                        email=email,
                        username=username,
                        password=enc_password
                    )
                messages.success(request, 'Votre compte a bien été créé, vous pouvez vous connecter !')
                return redirect('/signin/')
        else:
            form = UserSignUpForm()
        return render(request, 'store/signup.html', {'form': form})
    Est-ce que vous pourriez me dire d'où vient cette erreur ? Je ne comprends pas là

    Merci à tous !

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 716
    Par défaut
    Salut,

    C'est une erreur qui remonte du SGDB (varying(30)).
    Normalement, si vous changez un "model", il faut passer par "migrate" pour que la mise à jour soit propagée côté SGDB.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 44
    Par défaut
    Ah oui c'est vrai, c'est une erreur bête merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème textbox et mot de passe
    Par azertym dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/02/2012, 13h38
  2. Hachage de mot de passe avec Delphi.
    Par fred61 dans le forum Débuter
    Réponses: 2
    Dernier message: 26/05/2011, 16h24
  3. problèmes BO (install/mot de passe)
    Par purplebamboo dans le forum Débuter
    Réponses: 5
    Dernier message: 30/11/2009, 12h27
  4. Réponses: 0
    Dernier message: 07/11/2009, 14h41
  5. [Spip] Chiffrement ou hachage du mot de passe
    Par marty499 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 06/03/2009, 21h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo