essa rotina eh uma criptografia usando chave com 2 parametros:
1 - parstring: a string, codificada ou decodificada.
2 - parchave: a chave, que servira para codificar ou decodificar.
function rtncodificar(parstring,parchave: string): string;
var
i, TamanhoString, pos, PosLetra, TamanhoChave: Integer;
begin
Result := parstring;
TamanhoString := Length(parstring);
TamanhoChave := Length(parchave);
for i := 1 to TamanhoString do
begin
pos := (i mod TamanhoChave);
if pos = 0 then
pos := TamanhoChave;
posLetra := ord(Result[i]) xor ord(parChave[pos]);
if posLetra = 0 then
posLetra := ord(Result[i]);
Result[i] := chr(posLetra);
end;
end;
var
i, TamanhoString, pos, PosLetra, TamanhoChave: Integer;
begin
Result := parstring;
TamanhoString := Length(parstring);
TamanhoChave := Length(parchave);
for i := 1 to TamanhoString do
begin
pos := (i mod TamanhoChave);
if pos = 0 then
pos := TamanhoChave;
posLetra := ord(Result[i]) xor ord(parChave[pos]);
if posLetra = 0 then
posLetra := ord(Result[i]);
Result[i] := chr(posLetra);
end;
end;
como usar:
varresultado: string;
varresultado:= rtncodificar('VALOR','CHAVE');
'VALOR' = string que se tiver codificada vai ser decodificada. se tiver decodificada vai codificar.
'CHAVE' = valor que abrira ou fechara o segredo da criptografia. apenas sera possivel saber o valor com base nessa chave.