PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Histoire de hash
Histoire de hash
Débuté par Alain, 03 avr. 2020 09:58 - 1 réponse
Posté le 03 avril 2020 - 09:58
Bonjour,

J'ai ce code sous un de mes projets en windev.


HLitRecherchePremier(Login,Utilisateur,SAI_UTILISATEUR)

SI HTrouve(Login)=Vrai ALORS

Hash1 est un Buffer = Login.MotDePasse
Hash2 est un Buffer = HashChaîne(HA_MD5_128, SAI_Mot_de_passe)
Hash2=BufferVersHexa(Hash2)

SI Hash1=Hash2



Je reprends ce code pour l'utiliser pour une application sous windev mobile.

Mon problème est le suivant :

Quand la combinaison est vérifiée (login & mdp) sous windev les 2 hash sont identiques et je peux continuer mon traitement sous windev mobile même si la combinaison est vérifié les hash ne sont jamais les mêmes.

Une idée de pourquoi cela ne marche pas ?
Membre enregistré
795 messages
Popularité : +40 (42 votes)
Posté le 03 avril 2020 - 13:05
Bonjour, par défaut WD utilise les conseils de String ANSI et dans WM le type par défaut est String UNICODE. Afin d'utiliser le hachage dans les deux systèmes, vous devez utiliser le même type de chaîne pour stocker la chaîne de clé. Vous pouvez utiliser dans les deux plateformes le type de chaîne ANSI ou le type de chaîne UTF-8. Consultez le site https://doc.pcsoft.fr/fr-FR/?1000007113&name=HashCheckString

"Fonction HashVérifieChaîne et UNICODE
Développement multi-plateforme : Pour utiliser des Hash de chaînes entre plusieurs plateformes (par exemple un hash généré en iOS et vérifié en Android ou sur Windows), il ne faut pas utiliser des chaînes Unicode. En effet, les chaînes Unicode n'ont pas le même format selon les plate-formes. Dans ce cas, il est conseillé d'utiliser des chaînes au format ANSI ou UTF 8 (et de convertir les chaînes Unicode si nécessaire). "

Rubén