Vérification Login sur une base de données distante Mysql
Bonsoir,
dans la mise en oeuvre de mon application android avec windev mobile,j'utilise une base de données Mysql distante sur laquelle est stockée des infos. Mon objectif est de mettre en place un système d'authentification pour avoir accès ou pas aux autres options de l'application. Seulement je suis confronté à un problème au niveau de ma requête. En effet lorsque je fais le test avec uniquement le nom d'utilisateur, j'obtiens un résultat correct.Mais lorsque je combine le nom d'utilisateur et le mot de passe,aucun résultat. Après plusieurs recherches je me suis rendu compte que c'est parce que le mot de passe stocké dans la base de données est hashé(60 caractères en tout). Ma question est de savoir s'il existe un moyen de hasher mon mot de passe saisi (via la requête ) de la même manière que celui enregistré dans la base de données sachant que HASH est la méthode utilisée pour le hashage .Voici ma requête en question.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| sCodeSql est une chaîne=[
SELECT
id
FROM
jos_users
WHERE
jos_users.username = '%1'
AND
jos_users.password = '%2'
]
sV_requete est une chaîne=ChaîneConstruit(sCodeSql,SAI_Nom_Utilisateur,SAI_Mot_de_passe)
Trace(sV_requete)
SI monAccess:mySQLExec(sV_requete,1) ALORS
Trace(monAccess:mySQLPremier(1))
// trace(monAccess:mySQLLitCol(1,1))
//
SI monAccess:mySQLCol(1,1)>0 ALORS
Info(monAccess:mySQLCol(1,1))
OuvreFenêtreMobile(FEN_Accueil)
SINON
Erreur("Nom d'utilisateur ou mot de passe incorrect !!")
FIN
FIN |
Sinon voici le sujet d'origine http://www.developpez.net/forums/d16...l/#post8799115
Merci d'avance pour vos éventuelles suggestions et j'espère que j'ai posté au bon endroit. Dans le cas contraire toutes mes excuses et déplacez le post au bon endroit