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.