So why aren't you a member? Join up!
This is a guest message and you can easily put whatever you want here to get potential members to join up. The text can be changed in seconds using the settings file. This message will only appear to guests but can be turned off completely if so desired.
Stawer

Você não está conectado. Conecte-se ou registre-se

[Dica][Delphi] Função para Criptografar e Descriptografar uma String

Ir para baixo  Mensagem [Página 1 de 1]

Snake Simpson

Snake Simpson
Amador

Amador

{Abaixo seguem 3 funcoes, a primeira retorna o código ASCII de cada caracter, a segunda Criptografa uma string e a terceira descriptografa.}

Créditos por tudo: M C Zanetti

Código:
//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}

Código:
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}

Código:
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}

Código:
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

Dica: Em um mesmo campo ou string utilize sempre a mesma chave para criptografar e descriptografar.

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos