Criando um componente para criptografia de dados

Veja neste artigo como criar um componente para criptografia de dados.

Extraído do site: http://www.planetadelphi.com.br

Criando um Componente para Criptografia de Dados

Neste artigo vamos aprender à criarmos nosso próprio componente para criptografia de dados. Que serve apenas para Criptografar e Desciptograsfar seqüências de caracteres.

No menu Component do Delphi, escolha o item New Component. Na janela New Component, altere o campo Ancestor Type para "Tcomponent", e o campo Class Name para "Tcriptografia". Clique no botão install e, nas próximas janelas, confirme a montagem e complicação da package , clicando nos botões Yes e Ok.

Agora o Delphi criou uma Unit chamada de Criptografia, que conterá o código fonte do nosso novo componte.À interface da Unit, logo antes da declaração da procedure Register, adicione as seguintes linhas.

Const C1= 33598; C2=24219;

Estas constantes são utilizadas nos cálculos das rotinas de criptografia e podem ser alteradas conforme o gosto do leitor.

Criaremos apenas uma propriedade para o nosso componente, que servirá para armazenar a chave utilizada na criptografia dos dados.À Seção Private da interface da Unit Criptografia acrescente a linha:

VChave: Word;

À Seção Published acrescente a linha:

Property Chave:Word read vChave write vChave;

A seção public da interface da Unit Criptografia, acrescente a declaração do construtor do componente:

Constructor Create(AOWner:Tcomponent);override;

A parte implementation acrescente a implementação do construtor:

Construtor Tcriptografia.Create(AOWner: TComponent); Begin Inherited Create(AOWner); //Chama o construtor priginal Chave:=16854; End;

A seção Public acrescente as declarações dos métodos de criptografia:

Function Criptografar(pTexto:String):String; Function Descriptografar(pTexto:String):String;

A parte implementation acrescente a implementação dos métodos de criptografia:

Function Tcriptografia.Criptografar(pTexto:String):String; Var I:Byte; VChave:Word; Texto:String; Begin VChave:=Chave; For I:=1 to to Length(pTexto) do Begin Texto:=Texto+char(Byte(pTexto[I]) xor (vChave shr 8)); VChave:=(Byte(Texto[I]) + vChave) * C1 + C2; End; Result:=Texto; End; //Cria comandos pra Descriptografar os caracteres Function Tcriptografia.Descriptografar(pTexto:String):String; Var I:Byte; VChave:Word; Texto:String; Begin VChave:=Chave; For I:=1 to to Length(pTexto) do Begin Texto:=Texto+char(Byte(pTexto[I]) xor (vChave shr 8)); VChave:=(Byte(Texto[I]) + vChave) * C1 + C2; End; Result:=Texto; End;
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados