Bases de Datos > MS Access

 ENDURESER LA SEGURIDAD DE BD

(1/1)

kasq:
mi area de trabajo es:
Ms Visula Studio 2005 professional edition - .NET Framework 2.0.50727
REALIZE UNA CONEXION A UNA BASE DE DATOS EN ACCESS 2003 CON "Provider=Microsoft.Jet.OLEDB.4.0"
ComprUEBO EL usuario y clave usando La base de datos Y ME RESULTA PERFECTA.

QUISIERA ENDUREZER LA SEGURIDAD DE ACCESO A LA MISMA DESDE VS 2005 ENCRIPTANDO LA CONTRASEÑA DEL USUARIO CUANDO ESTE PASE POR LA FORMA DE LOGIN.
este es la adaptacion del codigo que he hecho asta el momento

--- Código: Text ---Imports System.Windows.FormsImports System.DrawingImports System.DataImports System.Data.OleDbPublic Class frmInicio    Private veces As Integer = 0    Private Const NumeroIntentos As Integer = 3    Private cadenaCnn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=transporte.mdb"     Private Sub btnACEPTAR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnACEPTAR.Click        'If TxtClave.Text = "911" Then        If ComprobarUsuario(txtNICK.Text, txtCLAVE.Text) Then            'Dim claveSHA As String = Me.generarClaveSHA1(Me.TxtClave.Text)            'If ComprobarUsuario(Me.TxtUsuario.Text, claveSHA) Then            Me.DialogResult = Windows.Forms.DialogResult.OK            'Form1.Show()        Else            veces = veces + 1            If veces < NumeroIntentos Then                Label3.Text = "Quedan " & (NumeroIntentos - veces) & " intentos"                Exit Sub            End If            Me.DialogResult = Windows.Forms.DialogResult.No        End If        Hide()    End Sub     Private Sub btnSALIR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSALIR.Click        Me.DialogResult = Windows.Forms.DialogResult.Cancel        Hide()    End Sub    Private Function ComprobarUsuario( _            ByVal IDUsuario As String, _            ByVal IDContraseña As String) As Boolean         Dim cnn As OleDbConnection = Nothing        '        Try             cnn = New OleDbConnection(cadenaCnn)            cnn.Open()             Dim sel As New System.Text.StringBuilder             sel.Append("SELECT COUNT (*) FROM Usuarios ")            sel.Append("WHERE IDUsuario = @IDUsuario AND IDContraseña = @IDContraseña")             Dim cmd As New OleDbCommand(sel.ToString, cnn)             cmd.Parameters.Add("@IDUsuario", OleDbType.VarChar, 50)            cmd.Parameters.Add("@IDContraseña", OleDbType.VarChar, 40)             cmd.Parameters("@IDUsuario").Value = IDUsuario            cmd.Parameters("@IDContraseña").Value = IDContraseña             Dim t As Integer = CInt(cmd.ExecuteScalar())             cnn.Close()             If t = 0 Then                Return False            End If         Catch ex As Exception            MessageBox.Show("ERROR al conectar a la base de datos: " & vbCrLf & _                        ex.Message, "Comprobar usuario", MessageBoxButtons.OK, _                        MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)            Return False        Finally            If Not cnn Is Nothing Then                cnn.Dispose()            End If        End Try         Return True    End Functionend class 

RadicalEd:
Utiliza la clase System.Security.Cryptography


--- Código: Visual Basic ---Imports Microsoft.VisualBasicImports System.Security.CryptographyImports System.IO Public Class CommonFunctions2   Public Shared Function MD5Encrypt(ByVal str As String) As String        'Imports System.Security.Cryptography        Dim md5 As MD5CryptoServiceProvider       Dim bytValue() As Byte       Dim bytHash() As Byte       Dim strOutput As String       Dim i As Integer        ' Create New Crypto Service Provider Object       md5 = New MD5CryptoServiceProvider        ' Convert the original string to array of Bytes       bytValue = System.Text.Encoding.UTF8.GetBytes(str)        ' Compute the Hash, returns an array of Bytes       bytHash = md5.ComputeHash(bytValue)       md5.Clear()        For i = 0 To bytHash.Length - 1           'don't lose the leading 0           strOutput &= bytHash(i).ToString("x").PadLeft(2, "0")       Next        MD5Encrypt = strOutput    End FunctionEnd Class Extraida de techinterviews

Navegación

[0] Índice de Mensajes

Ir a la versión completa