Função para Criptografar e Descriptografar uma String

DAVID CANDIDO DA SILVA

DAVID CANDIDO DA SILVA Publicado 17/11/2017 


Obs. (*
Esta função só funciona com caracteres, números ela não se aplica!
*)

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.


//funcao que retorno o código ASCII dos caracteres
function AsciiToInt(Caracter: Char): Integer;
var
  i: Integer;
begin
  i := 32;
  while i < 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 


// Criptografando
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(Criptografa('showdelphi.com.br', 100));
end;
 
// Descriptografando
procedure TForm1.Button2Click(Sender: TObject);
var
  vText : string;
begin
  vText := Criptografa('showdelphi.com.br', 100);
    showmessage(DesCriptografa(vText, 100));
end;


 

Voltar ao topo