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