Heroes

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Sistema de Login em ASP – Parte V

por Mauricio Junior em 1/1/2011 0

Bom, meu nome é Mauricio Junior. Continuarei essa parte V onde explico e desenvolvo algumas functions dentro do Visual Basic 6.0. É necessário ter as functions antes de desenvolver a página ASP final, que verifica usuário e senha utilizando três camadas.

 

A function mostrada anteriormente foi EXECUTASQLARRAY. A referência 5.1 mostro todas que ainda serão criadas dentro do Global.bas.

 

 

Legenda da Tabela

OK

Functions mostradas e explicadas

NAN

Functions não mostradas

 

 

Function

Explicação da funcionalidade

Ok

ExecutaSQLArray

Essa function serve para executar algum comando SQL que retorne um array de dados. Essa forma de array pode ser entendido como RECORDSET, ou seja, um SELECT.

Ok

 

 

 

ExecutaSQL

Essa function serve para apenas executar um comando SQL, não retornar valor, ou seja, é responsável para executar um: INSERT, UPDATE e DELETE.

NAN

 

 

 

Encryptografar

Essa function serve apenas para receber um parâmetro, criptografar e retornar o valor criptografado. Irei utilizar um componente externo para isso.

NAN

 

 

 

DesenCryptar

Essa function serve apenas para receber um parâmetro criptografado e retornar o valor descriptografado, ou seja, ao contrário da function anterior.

NAN

 

 

 

Referência: 5.1 Visual Basic 6.0

 

 

Agora irei criar a function ExecutaSQL, responsável apenas para executar os comandos SQL INSERT, UPDATE e DELETE. (5.2 – Visual Basic 6.0)

 

 

 

Public Function ExecutaSQL(ByVal SQL As String, _

                           Optional ByVal sMetodoOrigem As String = "") As Boolean

 

On Error GoTo error

 

    If SQL <> "" Then

        CONN.Execute (SQL)

    End If

 

   

error:

 

    If Err.Number <> 0 Then

        ExecutaSQL = False

    Else

        ExecutaSQL = True

    End If

 

End Function

 

Referência: 5.2 – Visual Basic 6.0

 

 

 

Explicação:

 

Analisando a assinatura da function, note que é pública e recebe dois parâmetros do tipo string, sendo um obrigatório e outro opcional. No final, é retornado um valor do tipo Boolean, ou seja, true ou false.

 

 

 

Public Function ExecutaSQL(ByVal SQL As String, _

                           Optional ByVal sMetodoOrigem As String = "") As Boolean

 

Referência: 5.3 – Visual Basic 6.0

 

 

O próximo passo, utilizei o On Error GoTo error. Isso é significa que se algum erro ocorrer dentro dele, automaticamente será redirecionado para a parte de error.

 

 

 

On Error GoTo error

 

Referência: 5.4 – Visual Basic 6.0

 

 

O parâmetro obrigatório ByVal SQL as String é necessariamente o comando SQL enviado por uma function anterior que terá todos os valores necessários para inserir no banco de dados.

 

 

 

   If SQL <> "" Then

        CONN.Execute (SQL)

    End If

 

Referência: 5.5 – Visual Basic 6.0

 

 

 

Na referência 5.5, existe uma condição onde verifico se a variável SQL é diferente de vazio, isso porque esse valor será executado junto ao Execute do objeto de conexão CONN. Já que a variável SQL terá um dos comandos INSERT, UPDATE ou DELETE, não haverá problemas para ser executado.

 

 

 

error:

 

    If Err.Number <> 0 Then

        ExecutaSQL = False

    Else

        ExecutaSQL = True

    End If

 

Referência: 5.6 – Visual Basic 6.0

 

 

Dentro do “error:”, verifico se o é diferente de zero. Se for, a function recebe false, senão for, a function recebe true. Essa atribuição faz com que retorne o valor atribuído. É sempre bom utilizar o On Error GoTo error para prevenir qualquer tipo de erro dentro da dll. 

 

A referência 5.7 mostra a ilustração de toda function mostrada e explicada.

 

Referência: 5.7 – Visual Basic 6.0

 

 

 

 

 

 

Encryptografar

 

 

Antes de qualquer coisas, na function utilizo outro componente dll chamado RC4. O mesmo possui a function EnCrypt onde recebe dois parâmetros. O primeiro parâmetro é do tipo string, ou seja, o valor decriptografado e o outro é do tipo numérico, ou seja, a chave. (5.8)

 

 

 

 

Public Function Encryptografar(ByVal DESCRICAO As String) As String

                              

    'funcao que encryptografa a descricao ou mesmo senha

                              

Dim RC4

Static sRetorno

 

On Error GoTo error

     

    'setando variavel para criptografar e usando

    'um metodo da dll

    'nome da dll RC4DLL.DLL

   

    Set RC4 = CreateObject("RC4DLL.Crypt")

    sRetorno = RC4.EnCrypt(DESCRICAO, 9999)

 

error:

 

    If Err.Number <> 0 Then

        Encryptografar = Err.Number

    Else

        Encryptografar = sRetorno

    End If

   

    Set RC4 = Nothing

End Function

 

Referência: 5.8 – Visual Basic 6.0

 

 

Explicação:

 

 

Public Function Encryptografar(ByVal DESCRICAO As String) As String

 

Referência: 5.9 – Visual Basic 6.0

 

Como o de sempre, essa function é pública e recebe um parâmetro do tipo string. Além de receber parâmetro, retorna um parâmetro do tipo string. Isto é, o parâmetro sem cripitografada é enviado, retornando outro valor totalmente misturado ou criptografado.

 

A dll chamada RC4 é responsável pela criptografia do sistema. (5.10 – Visual Basic 6.0)

 

 

No começo da function declarei duas variáveis. (5.11 – Visual Basic 6.0)

 

 

Dim RC4

Static sRetorno

 

Referência: 5.11 – Visual Basic 6.0

 

 

 

Como dito anteriormente em outras functions, é sempre bom usar “On Error GoTo error”, dessa forma posso pegar o erro “se ocorrer” em qualquer parte do código. Foi a próxima linha que adicionei. (5.12)

 

 

On Error GoTo error

 

Referência: 5.12 – Visual Basic 6.0

 

 

Para a dll responsável pela criptografia deve ser registrada junto ao COM PLUS. Isso apenas para o uso da function dentro do VB. De qualquer forma, criei a function para utilizá-la normalmente. Declarei uma variável anteriormente para depois instanciá-la, criando um objeto da própria dll. (5.13 – Visual Basic 6.0)

 

 

 

 

 

    Set RC4 = CreateObject("RC4DLL.Crypt")

    sRetorno = RC4.EnCrypt(DESCRICAO, 9999)

 

Referência: 5.13 – Visual Basic 6.0

 

 

O comando CreateObject(“RC4DLL.Crypt”) faz com o que o objeto RC4 crie um vínculo com a dll, podendo assim ser usado todas as suas functions publicas. A function retorna uma string criptografada onde armazeno o valor na variável declarada anteriormente chamada sRetorno. Note que passei os parâmetros corretos para criptografar e manter uma “certa” segurança no sistema.

 

 

 

 

 

error:

 

    If Err.Number <> 0 Then

        Encryptografar = Err.Number

    Else

        Encryptografar = sRetorno

    End If

   

    Set RC4 = Nothing

 

Referência: 5.14 – Visual Basic 6.0

 

Para finalizar a function, pergunto se existiu algum erro para retorná-lo ou retornar a variável criptografada. Não esqueça que retorno o valor do tipo string. Essa function em si é usada apenas internamente, ou seja, outras classes usarão essa function. No final de tudo, atribuo o RC4 para nothing. Com isso, destruo o objeto criado anteriormente.

 

Segue a ilustração inteira da function criada. (5.15)

 

Referência: 5.15 – Visual Basic 6.0

 

 

 

 

 

Alguns livros publicados pela editora Ciência Moderna.

 

 

 

Bom, fico por aqui.

Espero ter ajudado em alguma coisa.

Fique de olho nos próximos artigos.

 

 

Mauricio Junior

www.mauriciojunior.org

www.aspneti.com

 

voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:


Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Generics usando Object DataSource
Nova versão iCredCard aprovado pela Apple
Artigo criando atalhos para a sua aplicação.
VSTS 2008
Heroes {Community} Launch - Brasilia/DF
Convertendo String para Guid
Vírus / Spam Comentários
Apresentação do Windows
Dica para acrescentar valor
Imprimir com Visual Studio.NET 2005 usando C#.NET.
Nem tudo é o que parece!
Web Administration Tool
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
Trabalhando com Ipersonate e Web
Token e Sessão Corrente com C#.NET
Perguntas Mais Freqüentes de ASP.NET
Método SHA512
Propaganda Microsoft - Vemos como será e não como é.
Sort no GridView sem ir ao banco de dados novamente
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte II)
URL Indexável – Reescrever URL de uma forma amigável
Enviado email anexado
Gerando Relatório e Exportando para o Excel
WebService - Desenvolvimento Parte 1
GridView Parte III
Vídeo - Microsoft Surface: The Power
Virtual Earth - Segundo Passo
Criando Splash - Com Efeito
Vídeo: Análise do Android 3.0 por um especialista
Trabalhando com Sessão dentro do Windows Forms
Teclas de Atalho do Visual Studio .NET 2010
Visual SourceSafe – Série 6
Atalho novo, formatar e concatenar usando Visual Studio .NET 2010
GridView Parte I
Coalescing Operador C# ?? null




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Notebook 3D ou 4K?

Notebook vem com tudo...

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...




NETITC