Delphi

Função para Criptografar e Descriptografar uma String

Função para Criptografar e Descriptografar uma String

{Abaixo seguem 3 funcoes, a primeira retorna o código ASCII de cada caracter, a segunda Criptografa uma string
e a terceira descriptografa. Voce pode sempre mudar a chave como preferir.
Espero ter sido de ajuda - M C Zanetti}
 
<code>//funcao que retorno o código ASCII dos caracteres
function AsciiToInt(Caracter: Char): Integer;
var
i: Integer;
begin
i := 32;
while i &lt; 255 do begin
if Chr(i) = Caracter then
Break;
i := i + 1;
end;
Result := i;
end;
 
{ Esta funcao tem como objetivo criptografar uma string utilizando o código ASCII de cada caracter e
somando a esse código o valor da CHAVE}
 
Function Criptografa(texto:string;chave:integer):String;
var
cont:integer;
retorno:string;
begin
if (trim(texto)=EmptyStr) or (chave=0) then begin
result:=texto;
end else begin
retorno:='';
for cont:=1 to length(texto) do begin
retorno:=retorno+chr(asciitoint(texto[cont])+chave);
end;
result:=retorno;
end;
end;
 
{Esta funcao é semelhante a funcao de Criptografia mais com o objetivo de descriptografar a string }
 
Function DesCriptografa(texto:string;chave:integer):String;
var
cont:integer;
retorno:string;
begin
if (trim(texto)=EmptyStr) or (chave=0) then begin
result:=texto;
end else begin
retorno:='';
for cont:=1 to length(texto) do begin
retorno:=retorno+chr(asciitoint(texto[cont])-chave);
end;
result:=retorno;
end;
end;
 
{Exemplo de Utilização das funcoes}
 
data_inicio:=criptografa(strtran(datetostr(date),'/',''),108); //esta linha criptografa a data, somando ao codigo ASCII 108 posicoes
data_inicio:=DesCriptografa(inicio,108); //esta linha descriptografa a data, retirando as mesmas 108 posicoes
 
</code>
 
<code>Dica: Em um mesmo campo ou string utilize sempre a mesma chave para criptografar e descriptografar.</code>

Novo layout fode com a visualização dos codigos, para ver ele melhor click : http://paste.ubuntu.com/639163/

 

Popularity: unranked [?]

Free Web Hosting