Bonjour,

Je suis en train de code une application en C++ où j'effectue une requête mySQL pour la connexion d'un client.
Le client envois son login ainsi que le hash de son mot de passe.
Le hash est stocké dans un champ binaire (binary) de 64 octets.

Malheureusement, ma requête renvois toujours aucun résultat même si le couple login et hash est correct:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
//avec le hash en décimal comme affiché dans la BDD
SELECT id FROM Joueurs WHERE login='neckara' AND password=CONV(41393146323246373038384135343237463138323433343942443630383137363332313433414531344546314345414238434237313439364542344441313938,10,16);
 
//avec le hash en hexadécimal :
SELECT id FROM Joueurs WHERE login='neckara' AND password=x'A91F22F7088A5427F1824349BD60817632143AE14EF1CEAB8CB71496EB4DA19899E040AD56D1AD6751FCDC1B9B2751792C22510C028764252118C37356B669D5'
J'ai essayé de mettre un peu tout et n'importe quoi mais rien à faire, le champ password n'est jamais égal au hash.

Pas de soucis pour le login par contre, lorsque je commente la requete juste avant le 'AND', je n'ai aucun soucis de connexion.

J'aimerais donc savoir sous quel format faut-il mettre le hash?
Quelle est/sont les fonction à utiliser pour obtenir ce format à partir d'une chaine de caractère contenant les données en hexadécimal ou d'un entier décimal ?

Merci d'avance,

Neckara

EDIT : problème résolu, l'enregistrement dans la BDD avait été mal fait. Le hash était donc incorrect.