CRIPTOGRAFAR ARQUIVOS USANDO DELPHI
Adicionado em 20/05/2023
Vamos mostrar nesse tutorial um exemplo simples de como criptografar e descriptografar um arquivo utilizando uma senha em Delphi.
Primeiramente, inicie uma nova aplicação VCL para Windows no Delphi. (Utilizamos Embarcadero Delphi 10.4 Sidney no nosso exemplo, Veja aqui onde baixar).
Agora adicionamos os seguintes componentes:
No nosso exemplo, nós também mudamos o Caption do form para Encriptador no Object Inspector. Também modificamos a propriedade BorderStyle para bsDialog. Por fim, modificamos a propriedade Position para poScreenCenter.
Mudamos também o Caption do Button1 para Encriptar, do Button2 para Desencriptar, do TLabel para Senha e o parametro Text do Edit1 para Sua Senha....
Seu Form1 deve parecer assim:
Agora no nosso código, logo após {$R ∗.dfm}, adicionamos o seguinte procedimento:
Agora, precisamos adicionar o comando ao botão Encriptar e Desencriptar. Damos dois cliques no botão Encriptar e adicionamos o seguinte código:
No botão Desencriptar adicionamos:
A função EnDecriptarArquivo(EntNome, SaiNome, Senha : String); recebe o nome do arquivo que será aberto pelo OpenDialog em EntNome e Salva com o SaveDialog com o nome SaiNome o arquivo encriptado. A senha é colocada por último e é recebida pelo TEdit.
A função encriptar e desencriptar é exatamente a mesma, ou seja, o arquivo encriptado será convertido assim que a função seja aplicada novamente com a mesma senha. Cuidado, se você encriptar um arquivo e esquecer a senha, não será possível converter ele novamente.
Veja um exemplo de funcionamento do software. Primeiramente, criamos um arquivo TXT com o seguinte texto:
Salvamos o arquivo como Texto.txt. Agora executamos nosso software, adicionamos uma senha e encriptamos o arquivo.
Agora, ao abrir o arquivo encriptado, você deve ver o arquivo inelegível:
Se clicarmos no botão Desencriptar e escolhermos o arquivo encriptado, obtemos o texto do arquivo original:
Caso mudássemos a senha, o arquivo não seria desencriptado de forma correta:
Bom, é isso por hoje, se tiver alguma dúvida não deixe de entrar em contato.