Buscar

Encriptando/desencriptando arquivos

Código

{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 fazê-lo em Delphi. }
procedure EnDecryptFile(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:

{Iniciar um novo projecto, copiar o procedimento EnDecryptFile para uma unit, colocar dois TButton (Button1 e Button2) na form.

No evento OnClick do Button1 deve chamar o procedimento, em que os parâmetros são o a path do arquivo a encriptar, a path para onde o arquivo deve ser encriptado e uma chave de encriptação.}



procedure TForm1.Button1Click(Sender: TObject);
begin
EnDecryptFile('c:arquivo.txt', 'c:arquivo1.txt', 12);
end; {No evento OnClick do Button2 deve chamar o procedimento, em que os parâmetros são o a path e o nome do arquivo encriptado, a path e o nome para onde o arquivo deve ser desencriptado e a chave de encriptação usada para encriptar o arquivo original.}


procedure TForm1.Button2Click(Sender: TObject);
begin
EnDecryptFile('c:ficheiro1.txt', 'c:ficheiro2.txt', 12);
end; {Agora verifique se o arquivo c:arquivo.txt é igual ao arquivo c:arquivo2.txt, se é então correu tudo bem! }

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Arquivos
Adicionada dia: 12/06/03
Por: Felipe Monteiro
Visualizada: 3745 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009