Partage
  • Partager sur Facebook
  • Partager sur Twitter

Procédures stockées pour hasher ses mots de passe

    24 mars 2020 à 13:58:32

    Bonjour, 

    Je vais vous exposer mon soucis, pour mon projet en stage j'ai une table user qui permet d'accéder a un panel admin pour faire différentes modification. Or j'ai pas hashé les mots de passe (c'était du test mais c'est pas une bonne pratique). 

    Alors maintenant j'aimerais les hasher en sha256 qui est, pour moi, suffisant, mais j'hésite a soit faire des update de tout les users pour hacher leur mot de passe ou faire une procédures qui permettrait de le faire automatiquement. 

    Je pense la procédures stockées est le meilleur choix, mais aucune idée de comment la réaliser, j'ai bien la requête (testé avec du sha1) : 

    UPDATE `utilisateurs` SET `mdp`= sha1(OLD.mdp) WHERE `identifiants`= 'admin';

    Mais après pour savoir quand déclencher la procédures j'en ai aucune idée, si vous pouviez m'aider je vous remercie

    • Partager sur Facebook
    • Partager sur Twitter
      24 mars 2020 à 15:18:45

      Bonjour,

      Je te conseillerai plutôt de gérer le hash du côté de ton application. Comment gères-tu l'authentification de ce côté là ? Avec quel langage ?

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        24 mars 2020 à 15:51:35

        @Benzouye : J'ai un formulaire pour ce connecter, mais impossible d'update mon mot de passe, je suis en PHP
        • Partager sur Facebook
        • Partager sur Twitter
          24 mars 2020 à 18:40:53

          Et un formulaire pour créer le compte non ?

          En général, c'est PHP qui hash le mot de passe et le donne à la requête d'insertion...

          Sinon, tu peux faire :

          UPDATE user SET mdp = PASSWORD( mdp )

          Ensuite modifier ta requête d'insertion d'un nouvel utilisateur côté PHP :

          INSERT INTO ... VALUES ( ... , PASSWORD( ... ), ... )

          Et la requête de contrôle :

          SELECT ... FROM user WHERE name = ... AND mdp = PASSWORD( ... )

          Attention, il faut que la colonne mdp soit assez grande pour accueillir un hash SHA256.

          -
          Edité par Benzouye 24 mars 2020 à 18:41:51

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            24 mars 2020 à 18:57:42

            Oui normalement je fais avec l'insert en php aussi mais là y a vocation a pas avoir beaucoup d'utilisateur donc je les créer a la main dans phpmyadmin. 

            Et je veux pas que dans l'espace admin il y ai possibilité de créer, modifier ou supprimer des utilisateurs car c'est pas top niveau sécurité. 

            Donc ça complexifie la chose ^ ^

            -
            Edité par LucasBlandin 24 mars 2020 à 18:57:59

            • Partager sur Facebook
            • Partager sur Twitter
              24 mars 2020 à 19:38:53

              Donc la fonction PASSWORD suffit ... et l'UPDATE donné aussi ...
              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                25 mars 2020 à 10:15:03

                Ah ok je pensais c'était fait avec du PHP excuse moi, je test ça de suite ! 

                Merci beaucoup

                • Partager sur Facebook
                • Partager sur Twitter

                Procédures stockées pour hasher ses mots de passe

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown