patouvick
Messages postés11Date d'inscriptionlundi 16 juin 2008StatutMembreDernière intervention28 juillet 2008
-
3 juil. 2008 à 09:35
patouvick
Messages postés11Date d'inscriptionlundi 16 juin 2008StatutMembreDernière intervention28 juillet 2008
-
3 juil. 2008 à 11:10
Bonjour à tous,
J'ai un problème lier à ActiveDirectory, en
effet, dans le cadre d'une authentification, je me connecte sur
l'annuaire du domaine et je vérifie si le mot de passe est bon, mais il
y a un problème, ce password de la base est crypté, je ne peux donc
pas le comparer avec celui qu'a taper l'utilisateur.
Voici le code :
Public Function ConnDomaine(ByVal Login As String, ByVal mdp As String) As Boolean
Dim auth As Boolean
Try
Dim LoginAD As String = "login admin"
Dim PasswordAD As String = "pwd admin"
Dim ChaineConn As String = "LDAP://nomdudomaine:389/DC=xxx,DC=xxx,DC=xxx"
Dim rootEntry As New DirectoryEntry(ChaineConn, LoginAD, PasswordAD)
Dim searcher As New DirectorySearcher(rootEntry)
Dim results As SearchResultCollection
Dim res As SearchResult
If Not (results Is Nothing) Then
For Each res In results
If Not (res.Properties("pwdLastSet") Is Nothing) Then
If mdp = CStr(res.Properties("pwdLastSet")(0)) Then
auth = True
End If
End If
Next
End If
Catch Ex As Exception
MsgBox(Ex.Message)
End Try
Return auth
End Function
Le débogage se déroule sans incident, mais la fonction renvoie toujours "False" vu qu'un pass est crypter et l'autre non.
J'ai testé avec "secret" en mot de passe, il le crypte en "128558456764349808"
Donc ma question est:
Il
y a t'il un moyen de décrypter ce pass, ou de le crypter de la même
façon enfin de pouvoir comparer ? Ou sinon existe t'il une autre façon
d'arriver à faire ceci ?