FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Hash_hmac SHA1 ne correspond pas entre php et windev
Hash_hmac SHA1 ne correspond pas entre php et windev
Débuté par Gregory H, 26 mai 2015 10:58 - 6 réponses
Connectez-vous…
Gregory H
#1
Posté le 26 mai 2015 - 10:58
Bonjour,
Je ne trouve pas comment obtenir l'équivalent du code php suivant :
<
?
php
$chaine
=
's55shhjndfl'
;
$hmac
=
hash_hmac
(
'sha1'
,
$chaine
,
'test'
)
;
var_dump
(
$hmac
)
; /
/
string
(
40
)
"f10de51aa1da18df325fba1485134dd17b2f8277"
?
>
Logiquement l'équivalent Wlanguage serait :
temp est une
chaîne
res est une
chaîne
md5 est un Buffer
temp
=
"s55shhjndfl"
md5
=
HashChaîne
(
HA_HMAC_SHA_160
,
temp
,
"test"
)
i est un
entier
POUR i
=
1
_A_
Taille
(
md5
)
res
+
=
NumériqueVersChaîne
(
Asc
(
md5
[
[i]
]
)
,
"02x"
)
FIN
Trace
(
res
)
//65a5c8422ca83fc64a9d1c0e3d71ca04ddfbc037
En PHP on obtiens : f10de51aa1da18df325fba1485134dd17b2f8277
avec HashChaine : 65a5c8422ca83fc64a9d1c0e3d71ca04ddfbc037
Je suis à court d'idées ! Avec un MD5 simple j'arrive au même résultat utilisant cette méthode, avec un sha1 pas du tout.
Avez-vous une piste ?
Merci
Signaler
0
0
Chris
#2
Membre enregistré
940 messages
Popularité : +66 (68 votes)
Posté le 26 mai 2015 - 11:31
bonjour,
obtiens biens la valeur php avec un Windev 18 ( 01F180063c )
vous êtes certain de ne pas avoir une faute de frappe ?
Signaler
0
0
Chris
#3
Membre enregistré
940 messages
Popularité : +66 (68 votes)
Posté le 26 mai 2015 - 11:32
peu être voir au niveau du format de vos chaines
c'est de l'ansi ou Unicode ?
Signaler
0
0
Chris
#4
Membre enregistré
940 messages
Popularité : +66 (68 votes)
Posté le 26 mai 2015 - 11:41
après vérif je pense que vous avez simplement un soucis de format de chaine, voici ce que j'obtiens :
temp_ansi est une
chaîne
ANSI
res_ansi est une
chaîne
ANSI
Sha_160_ansi est un Buffer
temp_ansi
=
"s55shhjndfl"
Sha_160_ansi
=
HashChaîne
(
HA_HMAC_SHA_160
,
temp_ansi
,
"test"
)
Trace
(
"HA_HMAC_SHA_160 (ANSI)"
)
i est un
entier
POUR i
=
1
_A_
Taille
(
Sha_160_ansi
)
res_ansi
+
=
NumériqueVersChaîne
(
Asc
(
Sha_160_ansi
[
[i]
]
)
,
"02x"
)
FIN
Trace
(
res_ansi
)
//affiche f10de51aa1da18df325fba1485134dd17b2f8277
Temp_unicode est une
chaîne
UNICODE
Res_unicode est une
chaîne
UNICODE
Sha_160_unicode est un Buffer
Temp_unicode
=
"s55shhjndfl"
Sha_160_unicode
=
HashChaîne
(
HA_HMAC_SHA_160
,
Temp_unicode
,
"test"
)
Trace
(
"HA_HMAC_SHA_160 (UNICODE)"
)
POUR i
=
1
_A_
Taille
(
Sha_160_unicode
)
Res_unicode
+
=
NumériqueVersChaîne
(
Asc
(
Sha_160_unicode
[
[i]
]
)
,
"02x"
)
FIN
Trace
(
Res_unicode
)
//affiche 65a5c8422ca83fc64a9d1c0e3d71ca04ddfbc037
bon dèv
Signaler
0
0
Chris
#5
Membre enregistré
940 messages
Popularité : +66 (68 votes)
Posté le 26 mai 2015 - 11:48
vous pouvez aller voir dans la description de votre configuration courante,
l'onglet UNICODE
Signaler
0
0
Gregory H
#6
Posté le 26 mai 2015 - 18:58
Merci Chris, je vais tester demain matin.
En tout cas super votre réponse avec le code, ça mets bien en évidence le souci de format de chaines.
Signaler
0
0
Olivier DUCTEIL
#7
Membre enregistré
173 messages
Popularité : +7 (7 votes)
Posté le 16 février 2016 - 11:41
Bonjour,
Quelqu'un a t-il trouvé une explication ou mieux une solution ?
--
Cordialement
Olivier DUCTEIL
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte