Bonjour,
Voilà j'ai un problème pour recréer le système de hachage de password du Membership de microsoft.
J'ai fait pas mal de recherche sur google et essayer pas mal de solutions, j en suis arrivé au code suivant qui ne fonctionne toujours pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Function CreatePasswordHash(ByVal pass As String, ByVal salt As String) As String Dim bytes As Byte() = Encoding.Unicode.GetBytes(pass) Dim src As Byte() = Convert.FromBase64String(salt) Dim dst As Byte() = New Byte(src.Length + bytes.Length) {} System.Buffer.BlockCopy(src, 0, dst, 0, src.Length) System.Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length) Dim algorithm As HashAlgorithm = HashAlgorithm.Create("SHA1") Dim inArray As Byte() = algorithm.ComputeHash(dst) Return Convert.ToBase64String(inArray) End Function
Voilà le but de cette fonction est de pouvoir modifier le password d'un membres sans avoir a utiliser la méthode change password du membership qui nous demande le vieux password pour pouvoir le modifier.
Voilà cette fonction me génère pour le password "password" ceci : "De7MSma/GjyG7xdI3HiJLslzQ1Q="
et mon passwordSalt est égal à ceci :
"DYQKDTWO1RaApBTuyGU1eg=="
Cependant à la connexion via mon control asp:login
il me trouve le password incorrect.
Voilà je suis à 2 doigts de laisser tomber, si quelqu'un a une réponse qui puisse m'aider.
Partager