Este procedimento permite encriptar e desencriptar arquivos de qualquer tipo. O código de encriptação é bastante simples, por isso pode ser melhorado, sendo este apenas um exemplo de como pode ser feito.
procedure EnDecripArq(INFName, OutFName : String; Chave
: Word);
var InMS, OutMS : TMemoryStream;
I : Integer;
C : byte;
begin
InMS := TMemoryStream.Create;
OutMS := TMemoryStream.Create;
try
InMS.LoadFromFile(INFName);
InMS.Position := 0;
for I := 0 to InMS.Size - 1 do
begin
InMS.Read(C, 1);
C := (C xor not(ord(chave shr I)));
OutMS.Write(C,1);
end;
OutMS.SaveToFile(OutFName);
finally
InMS.Free;
OutMS.Free;
end;
end;
Exemplo de utilização:
Inicie um novo projeto no Delphi, coloque o procedimento
EnDecripArq para uma unit e logo após dois TButtons (Button1 e Button2) no
formulário.
No evento OnClick do Button1 chama-se o procedimento
EnDecripArq, sendo que os parâmetros são:o path(caminho) do e o nome do arquivo
,o path(caminho) para onde o arquivo deve ser encriptado e uma chave de
encriptação. Ficará da seguinte maneira:
procedure TForm1.Button1Click(Sender: TObject);
begin
EnDecryptFile('c:\arquivo.txt', 'c:\arquivo1.txt', 12);
ShowMessage('O Arquivo foi Encriptado!');
end;
No evento OnClick do Button2 deve-se chamar o mesmo
procedimento EnDecripArq, para que o arquivo seja desencriptado.Os parâmetros
são: o path e o nome do arquivo encriptado, o path e o nome para onde o arquivo
deve ser desencriptado e a chave de encriptação usada para encriptar o arquivo
original. Veja como fica abaixo:
procedure TForm1.Button2Click(Sender: TObject);
begin
EnDecryptFile('c:\ficheiro1.txt',
'c:\ficheiro2.txt', 12);
ShowMessage('O
Arquivo foi Desencriptado!');
end;
Nenhum comentário:
Postar um comentário