ERRO DE LOGIN CRIPTOGRAFADO
Segue abaixo os códigos da classe login e do formulário login.
Classe Login:
Citação:Imports System.Text
Imports System.Security.Cryptography
Imports MySql.Data.MySqlClient
Public Class cllLogin
Public strcon As String
Public Sub New()
Dim servidor As String = [Ô]localhost[Ô]
Dim usuario As String = [Ô]root[Ô]
Dim senha As String = [Ô]admin[Ô]
Dim banco As String = [Ô]database[Ô]
Strcon = [Ô]server = [Ô] & servidor & [Ô]; user id = [Ô] & usuario & [Ô]; password = [Ô] & senha & [Ô]; database = [Ô] & banco
End Sub
Public Function CripSenha(ByRef texto As String) As String
Dim Ue As New UnicodeEncoding
Dim ByteSourcetexto() As Byte = Ue.GetBytes(texto)
Dim md5 As New MD5CryptoServiceProvider
Dim Bytehash() As Byte = md5.ComputeHash(ByteSourcetexto)
Return Convert.ToBase64String(Bytehash)
End Function
Public Function Login(ByVal usuario As String, ByVal senha As String) As Boolean
Dim str As String
str = [Ô]SELECT usuario FROM tblusuario WHERE usuario = [ô][Ô] & usuario & [Ô][ô] AND senha = [ô][Ô] & CripSenha(senha) & [Ô][ô][Ô]
Dim conn As New MySqlConnection(strcon)
Dim cmd As New MySqlCommand(str, conn)
Try
Dim dr As MySqlDataReader
conn.Open()
dr = cmd.ExecuteReader
If dr.Read Then
Return True
Else
Return False
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
conn.Close()
End Try
End Function
End Class
Código formulário Login:
Citação:Public Class frmLogin
Private Sub btnOkLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOkLogin.Click
Dim Logar As New cllLogin
If Logar.Login(txtUsuarioLogin.Text, txtSenhaLogin.Text) = True Then
frmPrincipal.Show()
Else
MsgBox([Ô]Usuario ou Senha digitado Incorretamente[Ô], vbOKOnly + MsgBoxStyle.Information, [Ô]Sistema de Automação Comercial - Aviso[Ô])
End If
End Sub
Private Sub btnCancelarLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelarLogin.Click
Me.Close()
End Sub
Private Sub frmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TimerLogin.Start()
End Sub
Private Sub TimerLogin_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerLogin.Tick
lblDataTime.Text = Format(Now, [Ô]Long Date[Ô])
lblDataHora.Text = Format(Now, [Ô]Long Time[Ô])
End Sub
End Class
Desde já agradeço.
Você conseguiu abrir o banco com
está classe.
Olha o erro pelo que posso ver esta ocorrendo aqui:
[txt-color=#0000f0]Dim Logar As New cllLogin
If Logar.Login(txtUsuarioLogin.Text, txtSenhaLogin.Text) = True Then
[/txt-color]
Pois a mensagem que aparece é a que eu criei:
[txt-color=#0000f0] Else
MsgBox([Ô]Usuario ou Senha digitado Incorretamente[Ô], vbOKOnly + MsgBoxStyle.Information, [Ô]Sistema de Automação Comercial - Aviso[Ô])[/txt-color]
voc^sabe com eu faço um teste de conexão?
Isto não e suficiente para conectar ao banco de dados.
Vamos lá.
Esquece Classe. Parece que não tem ideia de que uma classe.
Depois que compreender como faz uma conexão com o banco,ai parte para classe.
Então,tenta conectar com o banco.Se não conseguir vou dar as dicas.
Isto é para sua compreensão.
[txt-color=#e80000]Sem Classe.[/txt-color]
Veja como ficou o meu código agora e ainda continua dando o erro e apareceu este outro erro agora: [Ô] chave não pode ser nula, Nome do parâmetro: Key[Ô]
Código:
Citação:Imports Microsoft.VisualBasic
Imports System.Security.Cryptography
Imports MySql.Data.MySqlClient
Imports System
Imports System.Text
Public Class frmLogin
Dim strCon As New MySqlConnection
Dim Sql As String
Public Class conn
[ô]Variavel Privada, variavel conexao.
Public strCon As String
[ô]Método Construtor
Public Sub New()
Dim host As String
Dim user As String
Dim pass As String
Dim banco As String
host = [Ô]localhost[Ô]
user = [Ô]Administrador[Ô]
pass = [Ô]25041966[Ô]
banco = [Ô]teste_siscom[Ô]
strCon = [Ô]server=[Ô] & host & [Ô]; user id=[Ô] & user & [Ô]; password=[Ô] & pass & [Ô]; database=[Ô] & banco & [Ô];[Ô]
End Sub
Public Function CripSenha(ByRef texto As String) As String
Dim Ue As New UnicodeEncoding
Dim ByteSourcetexto() As Byte = Ue.GetBytes(texto)
Dim md5 As New MD5CryptoServiceProvider
Dim Bytehash() As Byte = md5.ComputeHash(ByteSourcetexto)
Return Convert.ToBase64String(Bytehash)
End Function
Public Function Login(ByVal usuario As String, ByVal senha As String) As Boolean
Dim strCon As String
strCon = [Ô]SELECT usuario FROM tblusuario WHERE usuario = [ô][Ô] & usuario & [Ô][ô] AND senha = [ô][Ô] & CripSenha(senha) & [Ô][ô][Ô]
Dim conn As New MySqlConnection
Dim cmd As New MySqlCommand(strCon, conn)
Try
Dim dr As MySqlDataReader
conn.Open()
dr = cmd.ExecuteReader
If dr.Read Then
Return True
Else
Return False
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
conn.Close()
End Try
End Function
Public Function Conectar() As Boolean
Dim Conexao As New MySqlConnection(strCon)
Try
Conexao.Open()
Catch ex As Exception
MsgBox(ex.Message)
End Try
[ô]retorna variavel State Open 1, Close 0
Return Conexao.State
End Function
End Class
Private Sub btnOkLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOkLogin.Click
Dim Logar As New conn
If Logar.Login(txtUsuarioLogin.Text, txtSenhaLogin.Text) = True Then
frmPrincipal.Show()
Else
MsgBox([Ô]Usuario ou Senha, foi digitado Incorretamente[Ô], vbOKOnly + MsgBoxStyle.Information, [Ô]Sistema de Automação Comercial - Aviso[Ô])
End If
End Sub
Desde já agradeço.
Como posso ver ninguém pode me ajudar neste erro.