none
Como Editar Clave en login RRS feed

  • Pregunta

  • Buenas Noche estoy con un problema tengo hecho el login y el abm EN (vb.NET) de usuarios de un sitema y deseo que en el fomulario de LOGIN tener un boton que me lleve a un formulario con 3 texbox donde me permita editar la clave por parte del usuario.
    1° textbox= ingrese clave actual ->buscar en base de datos alli esta encriptada metodo hash

    2°textbox= Ingrese nueva clave

    3°textbox= repita nueva clave -> guardar nueva clave encriptada 
    ME DARIAN UNA MANO CON ESTO POR FAVOOOOOOOR


    • Editado AlexWirtzW sábado, 16 de diciembre de 2017 1:20
    sábado, 16 de diciembre de 2017 1:19

Respuestas

  • Hola:
    En un Form como el de la imagen

    Copia y pega el siguiente codigo

    Option Strict On

    Option Explicit On
    Imports System.Data.SqlClient

    Public Class Form1
        Private Sub btnCambiar_Click(sender As Object, e As EventArgs) Handles btnCambiar.Click
            'Si la nueva contraseña y su repeticion, no coinciden, salir
            If Me.txtNueva.Text <> Me.txtRepetir.Text Then
                MessageBox.Show("Las contraseñas no coinciden", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return
            End If
            'Si la contraseña NO es correcta, salir
            Try
                Dim lsQuery As String = "Select PASSWORD From TU_TABLA Where ID=@ID"
                Dim lsPassWord As String = String.Empty
                Using loConexion As New SqlConnection(TU_CADENA_SQL)
                    loConexion.Open()
                    Using loComando As New SqlCommand(lsQuery, loConexion)
                        'añadir parametro al comando
                        loComando.Parameters.Add(New SqlParameter("@ID", VALOR_DEL_ID_USUARIO))
                        lsPassWord = Convert.ToString(loComando.ExecuteScalar())
                    End Using
                End Using
                Dim lsContraseña As String = TU_FUNCION_DE_ENCRIPTADO(Me.txtActual.Text)
                If lsContraseña <> lsPassWord Then
                    MessageBox.Show("Las contraseña no es correcta", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Return
                End If
                ' Proceso de cambio de contraseña
                lsContraseña = TU_FUNCION_DE_ENCRIPTADO(Me.txtNPassword.Text)
                lsQuery = "Update TU_TABLA Set PASSWORD=@Password Where ID=@ID"
                Using loConexion As New SqlConnection(TU_CADENA_SQL)
                    Using loComando As New SqlCommand(lsQuery, loConexion)
                        'añadir parametros al comando 
                        loComando.Parameters.Add(New SqlParameter("@Password", lsContraseña))
                        loComando.Parameters.Add(New SqlParameter("@ID", VALOR_DEL_ID_USUARIO))
                        loConexion.Open()   ' abrir conexión
                        loComando.ExecuteNonQuery()
                    End Using
                End Using
            Catch Exp As Exception
                MessageBox.Show(Exp.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
        End Sub
    End Class

    P.D.
    Tendras que adaptarlo a tus datos y necesidades

    Un saludo desde Bilbo

    Carlos

    sábado, 16 de diciembre de 2017 7:41

Todas las respuestas

  • Hola:
    En un Form como el de la imagen

    Copia y pega el siguiente codigo

    Option Strict On

    Option Explicit On
    Imports System.Data.SqlClient

    Public Class Form1
        Private Sub btnCambiar_Click(sender As Object, e As EventArgs) Handles btnCambiar.Click
            'Si la nueva contraseña y su repeticion, no coinciden, salir
            If Me.txtNueva.Text <> Me.txtRepetir.Text Then
                MessageBox.Show("Las contraseñas no coinciden", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return
            End If
            'Si la contraseña NO es correcta, salir
            Try
                Dim lsQuery As String = "Select PASSWORD From TU_TABLA Where ID=@ID"
                Dim lsPassWord As String = String.Empty
                Using loConexion As New SqlConnection(TU_CADENA_SQL)
                    loConexion.Open()
                    Using loComando As New SqlCommand(lsQuery, loConexion)
                        'añadir parametro al comando
                        loComando.Parameters.Add(New SqlParameter("@ID", VALOR_DEL_ID_USUARIO))
                        lsPassWord = Convert.ToString(loComando.ExecuteScalar())
                    End Using
                End Using
                Dim lsContraseña As String = TU_FUNCION_DE_ENCRIPTADO(Me.txtActual.Text)
                If lsContraseña <> lsPassWord Then
                    MessageBox.Show("Las contraseña no es correcta", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Return
                End If
                ' Proceso de cambio de contraseña
                lsContraseña = TU_FUNCION_DE_ENCRIPTADO(Me.txtNPassword.Text)
                lsQuery = "Update TU_TABLA Set PASSWORD=@Password Where ID=@ID"
                Using loConexion As New SqlConnection(TU_CADENA_SQL)
                    Using loComando As New SqlCommand(lsQuery, loConexion)
                        'añadir parametros al comando 
                        loComando.Parameters.Add(New SqlParameter("@Password", lsContraseña))
                        loComando.Parameters.Add(New SqlParameter("@ID", VALOR_DEL_ID_USUARIO))
                        loConexion.Open()   ' abrir conexión
                        loComando.ExecuteNonQuery()
                    End Using
                End Using
            Catch Exp As Exception
                MessageBox.Show(Exp.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
        End Sub
    End Class

    P.D.
    Tendras que adaptarlo a tus datos y necesidades

    Un saludo desde Bilbo

    Carlos

    sábado, 16 de diciembre de 2017 7:41
  • Un millon de gracias Carlos haces semanas que no podia resolver eso ojala me funcione ya lo pruebo.
    gracias de nuevo
    miércoles, 20 de diciembre de 2017 23:37