PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Hash windev -> vb.net
Hash windev -> vb.net
Débuté par Mikael, 07 oct. 2016 15:15 - 4 réponses
Membre enregistré
108 messages
Popularité : +2 (2 votes)
Posté le 07 octobre 2016 - 15:15
Bonjour à tous, je ne sais pas si ce que je veux faire est possible, mais je cherche à hash une chaine en windev et vb.net et que cela donne le même résultat (c'est un serveur vb qui m’envoie les pass)

Le truc c'est que ca marche, en VB:

Dim Md5 As new SHA256Managed
'Compute the hash value from the Source
Dim ByteHash() As byte = Md5.ComputeHash(ByteSourceText)
'AND Convert it to string format for RETURN
RETURN Convert.ToBase64String(ByteHash)


Donne : H54ddmhddlqjpv+F3O0vCgT2ElNt9SaWaEqqZ3h+bN0=

En windev :

sHash1 est une chaîne = HashChaîne(HA_HMAC_SHA_256, "aaa")
sHexa est une chaîne = ""
i est un entier
POUR i=1 _A_ Taille(sHash1)
sHexa +=NumériqueVersChaîne(Asc(sHash1[[i]]), "02X")
FIN
Trace(sHexa)


Donne : 6FA2B3C1885C10532D4066BEDF571EA17AC774745D69590EBA7EE90D2F53913


J'ai raté qq chose ou les deux langages devrait crypter de la même manière ?
Posté le 07 octobre 2016 - 17:21
avec HA_SHA_256 au lieu de HA_HMAC_SHA_256 ?

eric l.

Le 07/10/2016 à 13:15, Mikael a écrit :
Bonjour à tous, je ne sais pas si ce que je veux faire est possible,
mais je cherche à hash une chaine en windev et vb.net et que cela donne
le même résultat (c'est un serveur vb qui m’envoie les pass)

Le truc c'est que ca marche, en VB:

Dim Md5 As New SHA256Managed
'Compute the hash value from the source
Dim ByteHash() As Byte = Md5.ComputeHash(ByteSourceText)
'And convert it to String format for return
Return Convert.ToBase64String(ByteHash)


Donne : H54ddmhddlqjpv+F3O0vCgT2ElNt9SaWaEqqZ3h+bN0=

En windev :

sHash1 est une chaîne = HashChaîne(HA_HMAC_SHA_256, "aaa")
sHexa est une chaîne = ""
i est un entier
POUR i=1 _A_ Taille(sHash1)
sHexa +=NumériqueVersChaîne(Asc(sHash1[[i]]), "02X")
FIN
Trace(sHexa)


Donne : 6FA2B3C1885C10532D4066BEDF571EA17AC774745D69590EBA7EE90D2F53913


J'ai raté qq chose ou les deux langages devrait crypter de la même
manière ?
Posté le 07 octobre 2016 - 18:33
eric l. a exposé le 07/10/2016 :
avec HA_SHA_256 au lieu de HA_HMAC_SHA_256 ?

eric l.

Le 07/10/2016 à 13:15, Mikael a écrit :
Bonjour à tous, je ne sais pas si ce que je veux faire est possible,
mais je cherche à hash une chaine en windev et vb.net et que cela donne
le même résultat (c'est un serveur vb qui m’envoie les pass)

Le truc c'est que ca marche, en VB:

Dim Md5 As New SHA256Managed
'Compute the hash value from the source
Dim ByteHash() As Byte = Md5.ComputeHash(ByteSourceText)
'And convert it to String format for return
Return Convert.ToBase64String(ByteHash)


Donne : H54ddmhddlqjpv+F3O0vCgT2ElNt9SaWaEqqZ3h+bN0=

En windev :

sHash1 est une chaîne = HashChaîne(HA_HMAC_SHA_256, "aaa")
sHexa est une chaîne = ""
i est un entier
POUR i=1 _A_ Taille(sHash1)
sHexa +=NumériqueVersChaîne(Asc(sHash1[[i]]), "02X")
FIN
Trace(sHexa)


Donne : 6FA2B3C1885C10532D4066BEDF571EA17AC774745D69590EBA7EE90D2F53913


J'ai raté qq chose ou les deux langages devrait crypter de la même
manière ?


en vb vous convertissez en base 64 et en windev vous convertissez en
hexa

--
Cordialement JeAn-PhI
Membre enregistré
962 messages
Popularité : +183 (185 votes)
Posté le 08 octobre 2016 - 13:25
hello,
voici un code qui utilise le "hashage" de dotnet (en utilisant l'assemblage System dans windev) et celui de windev qui donnent le même résultat. Comme indiquait plus haut par Eric et Jean-Phi il faut utiliser le même type de "hashage" et encoder en base64 à la fin.
MonShaSiamois est un SHA256Managed
TabSource est un tableau de 0 octets
TabResultat est un tableau de 0 octets
TabSource = System.Text.Encoding.ASCII.GetBytes("aaa")
TabResultat = MonShaSiamois.ComputeHash(TabSource)
Trace("DOTNET")
// affichage en base 64
Trace(Convert.ToBase64String(TabResultat))
sHash1 est un Buffer = HashChaîne(HA_SHA_256, "aaa")
Trace("WINDEV")
// affichage en base 64
Trace(Crypte(sHash1,"",crypteAucun,encodeBASE64))


et voici le résultat :





--
Ami calmant, J.P
Membre enregistré
108 messages
Popularité : +2 (2 votes)
Posté le 10 octobre 2016 - 09:58
Merci les gars, c’était tout bête ;)