Membership: Hachage du password manuellement
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:
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.;)