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.
13:59
Bruno Leite

0 comentários:
Postar um comentário