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

MySQL Discussion :

Aide: Comme utiliser la fonction Password() de MySQL


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut Aide: Comme utiliser la fonction Password() de MySQL
    Salut

    Mon problème cette fois et lier a la fonction password() de MySQL .
    Dans le cadre de création d’une application d’authentification d’ utilisateur avant l’accès au logiciel j’ai crée une table Secure qui contient le champ mot_de_pass qui est de type varchar
    Bien sur avant l’insertion d’un nouvel utilisateur dans la table je crypte le mot de passe grâce a la fonction password() mais malheureusement au moment ou l’utilisateur veut s’authentifier il utilise son mot de passe et lorsque je fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Select * from secure where nom= Editnom and mot_de_passe=password (EditPassword )
    //c’est une requête fictive
    La requeté ne renvoi aucun enregistrement car le mot de passe de la table n’est pas égale au mot de passe saisie dans le EditPassword après cryptage
    J’espère que j’ai bien expliqué mon problème. merci

  2. #2
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    En principe, si tu encodes 2 fois la même chaine avec le même algo, tu obtiens 2 fois le même résultat.
    Donc logiquement si 2 résultats sont différents avec la même fonctions password, c'est que les 2 chaines que tu passe en paramètres ne doivent pas être les mêmes.
    Difficile d'en dire plus sans avoir les sources, mais je parierais sur une erreur dans le programme client ...

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    Bonsoir
    Mr Hervé en ce qui concerne le code je ne pense pas car le voila

    Partie 1 :

    Insertion d’un user et son mot de passe :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Query1->ParamByName("user")  ->AsString =EditUser->Text ;
    Query1->ParamByName("mt_passe")  ->AsString =EditMotPasse ->Text ;
    Query1->ExecSQL() ;
    }
    et pour la requete dans le Query est comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    INSERT INTO `manu_secure` (   `user` , `mt_passe`  ) 
    VALUES (
      :user, password(:mt_passe))

    2 ieme partie

    l'utilisateur doit entre sont user et mot de passe
    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
     
    void __fastcall TForm1::EditPasswordKeyDown(TObject *Sender, WORD &Key,
          TShiftState Shift)
    {
     if (Key == VK_RETURN)
    {   
       QuerySession ->SQL->Clear() ;       // effacer la requet initial
       QuerySession  ->SQL ->Add("select * from manu_secure where ") ;
       QuerySession  ->SQL ->Add(" user = '" + EditUser ->Text +"' And ");
       QuerySession  ->SQL ->Add(" mt_passe =  password('" + EditPassword -> Text + "')  And"    );
       QuerySession  ->SQL ->Add(" app = '"+ CBApp  ->Text+"'" );
       QuerySession->ExecSQL() ; // executér la requet
    // ACTIVER LES BOUTTONS D ACCES A L APPLICATION 
       if(QuerySession ->RecordCount != 0)
        {BitBtn1 ->Enabled=1;
         BitBtn2->Enabled =1;
        }
     
    }
    }
    avec ces deux fragemants de code je n'aurai j amais une authentification
    car l mot de passe crypte lors de l'insertion n'est pas le meme lors de la selection ......

  4. #4
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    A première vue ça m'a l'air à peu près bon (attention quand même aux injections SQL) donc soit tu ne récupères pas les bonnes valeurs quelque part pour le login et/ou le password (essaie de les tracer lors de l'insertion ET lors de l'authentification avec un fichier de log, ou une messagebox, ou n'importe ... ), soit c'est le champ 'app' qui pose problème (d'ailleurs il n'est pas renseigné lors de la requête d'insertion, c'est normal ?)

Discussions similaires

  1. [HTML::TreeBuilder] Aide pour utiliser la fonction
    Par White Angels dans le forum Langage
    Réponses: 4
    Dernier message: 21/02/2011, 09h16
  2. Aide pour utiliser une fonction dans un "case"
    Par lcoulon dans le forum Débuter
    Réponses: 2
    Dernier message: 15/10/2009, 22h17
  3. [MySQL] Problème de syntaxe avec variable utilisée dans fonction PHP et MySQL
    Par redvivi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/03/2008, 21h07
  4. [PreparedStatement][MySql] fonction PASSWORD
    Par Invité dans le forum JDBC
    Réponses: 3
    Dernier message: 12/12/2006, 11h36
  5. [VB.NET][Excel] utiliser des fonction Excel comme xlToRight
    Par Alexj51 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/03/2006, 12h10

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