Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Angeldj27 en 3 Junio 2008, 18:42 PM

Título: Comprobar password de usuario de windows desde VB
Publicado por: Angeldj27 en 3 Junio 2008, 18:42 PM
Hola a Todos...
Soy nuevo por aqui y espero que me puedan ayudar
Tengo un sistema hecho en visual basic y quisiera comprobar el password del usuario desde mi sistema osea esto es cuando se digita el password en un textbox
o tambien una forma de como obtenerlo desde visual basic
Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: cobein en 3 Junio 2008, 18:59 PM
A que te referis? el pass de windows o uno de tu sistema

Bueno mire el titulo y supongo que hablas del pass del sistema, esto es lo que uso yo.

Código (vb) [Seleccionar]


'---------------------------------------------------------------------------------------
' Module      : mSystemPassword
' DateTime    : 24/04/08 15:22
' Author      : Cobein
' Mail        : cobein27@hotmail.com
' Usage       : At your own risk.
' WebPage     : http://cobein27.googlepages.com/vb6
' Purpose     : Validate system password
' Requirements: None
' Distribution: You can freely use this code in your own
'               applications, but you may not reproduce
'               or publish this code on any web site,
'               online service, or distribute as source
'               on any media without express permission.
' History     : 24/04/08 - First Cut....................................................
'---------------------------------------------------------------------------------------
Option Explicit

Private Const NERR_BASE                 As Long = 2100
Private Const NERR_PasswordCantChange   As Long = (NERR_BASE + 143)
Private Const NERR_PasswordHistConflict As Long = (NERR_BASE + 144)
Private Const NERR_PasswordTooShort     As Long = (NERR_BASE + 145)
Private Const NERR_PasswordTooRecent    As Long = (NERR_BASE + 146)

Private Declare Function NetUserChangePassword Lib "netapi32.dll" (ByVal sDomain As String, ByVal sUserName As String, ByVal sOldPassword As String, ByVal sNewPassword As String) As Long

Public Function ValidateSysPassword( _
       ByVal sPassword As String, _
       Optional ByVal sUserName As String, _
       Optional ByVal sDomain As String) As Boolean
   
    If Len(sUserName) = 0 Then
        sUserName = Environ$("USERNAME")
    End If

    If Len(sDomain) = 0 Then
        sDomain = Environ$("USERDOMAIN")
    End If
   
    Select Case NetUserChangePassword( _
           StrConv(sDomain, vbUnicode), _
           StrConv(sUserName, vbUnicode), _
           StrConv(sPassword, vbUnicode), _
           StrConv(sPassword, vbUnicode))
   
        Case 0, NERR_PasswordCantChange, _
           NERR_PasswordHistConflict, _
           NERR_PasswordTooShort, _
           NERR_PasswordTooRecent
            ValidateSysPassword = True
    End Select
   
End Function

Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: Angeldj27 en 3 Junio 2008, 19:03 PM
Gracias cobein  por tu pronta respuesta

Si es el password del usuario actual de windows que nesesito
Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: cobein en 3 Junio 2008, 19:06 PM
Ahi puse el code, edite mintras respondias.
Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: Angeldj27 en 3 Junio 2008, 19:37 PM
cobein no quiero cambiar el password del usuario en cuestion sino comprobar que el password que estoy digitando es el mismo de este usuario.

Talves me entiendas mejor.

Saludos...
Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: seba123neo en 3 Junio 2008, 19:42 PM
Hola,me parece que es con la api wnetverifypassword...

saludos.
Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: Angeldj27 en 3 Junio 2008, 19:48 PM
Gracias por contestar

Mira ya lo intente con esa api pero no me funciono talves me puedas ayudar aki
te dejo el codigo para ver que me dices

Private Declare Function wnetverifypassword Lib "mpr.dll" Alias "wnetverifypassworda" (ByVal lpszpassword As String, ByRef pfmatch As Long) As Long

Public Function verify(ByVal password As String) As Boolean
Dim ret As Long, match As Long
ret = wnetverifypassword(password, match)
If ret Then
  verify = False
Else
  verify = (match <> 0)
End If
End Function


pero no me esta funcionando o talves la estoy implementando mal

Saludos..
Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: cobein en 3 Junio 2008, 19:54 PM
No lo vas a cambiar, simplemente llama a la function pasandole el password y te va a devolver True o False si es correcto o no
Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: Angeldj27 en 3 Junio 2008, 23:34 PM
Oh si efectivamente ese es el codigo que necesitaba
lo que paso que le di un copy paste a tu codigo y parece que omiti una partesita  del codigo pero lo chekie de nuevo y esta nitido te lo agradezco cobein.

Muchas gracias por ayudarme...
Bay y Saludos...
Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: drakolive en 6 Junio 2008, 01:46 AM
esto para que es?  sDomain??
supongamos que yo haga un llamado a esa funcion
msgbox ValidateSysPassword("mipassword","admin", ????????????????)

???
Título: Re: Comprobar password de usuario de windows desde VB
Publicado por: cobein en 6 Junio 2008, 01:50 AM
http://msdn.microsoft.com/en-us/library/aa370650(VS.85).aspx