Páginas

terça-feira, 7 de dezembro de 2010

Criptogrando e Decriptografando senhas no Excel

No VBA, quando precisamos armazenar qualquer senha, normalmente colocamos esta senha no código fazendo uso conforme precisamos.

As rotinas que descrevo a seguir, auxiliam (mas não impedem) que alguém mal intencionado faça uso da mesma.

Estas rotinas, fazem a conversão dos dados gerando uma string númerica, que será a nova senha.

Vamos as rotinas

'Desenvolvida por Bruno Leite
'bruno_silva_leite@yahoo.com.br
    
    Function CPT(ByVal Codigo As String) As String
        'Criptografa a informacao
        CPT = vbNullString
        For i = Len(Codigo) To 1 Step -1
            CPT = CPT & Asc(Mid(Codigo, i, 1)) & Asc(50) & Asc(81)
        Next i
    End Function
    
    
    Function DCPT(ByVal Codigo As String) As String
    'Decriptografa a informacao
        Dim temp As Variant
        temp = Split(Codigo, Asc(50) & Asc(81))
        For i = UBound(temp) - 1 To LBound(temp) Step -1
            DCPT = DCPT & Chr(temp(i))
        Next i
    End Function



Para testar a funcionalidades, você pode numa célula chamar por exemplo.

=CPT("suasenha")

O resultado será o seguinte

975356104535611053561015356115535697535611753561155356

=dcpt("975356104535611053561015356115535697535611753561155356")

O resultaso será suasenha

Isto na verdade são os códigos de cada caracter ASC digitado, concatenado com um código separado inserido por mim, no caso Asc(50) e Asc(81), desta forma para recuperar a senha, utilize a função DCPT, passando como parametro o código gerado pela rotina DCPT.

No Exemplo acima seria o seguinte, sempre acrescido de 5356 que são respectivamente o Asc(50) e Asc(81)

s -> 115
u -> 117
a -> 97
s -> 115
e -> 101
n -> 110
h -> 104
a -> 97

975356104535611053561015356115535697535611753561155356

Este algoritimo pode sofrer alterações, para dificultar ainda mais o acesso a dados.

Bom por hoje é isto, qualquer dúvida da utilização postem nos comentários.

0 comentários:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...