Hash SHA1 no Lazarus IDE (free Pascal)

Mais uma dica rápida para quem usa a IDE Lazarus / free Pascal (faça download aqui ).

Uma das maneiras, “digamos segura”, de armazenar senhas no seu banco de dados, é gravar o hash* do String / texto  da mesma, evitando o uso de texto plano o que impede a visualização da senha por alguém que tenha acesso ao banco de dados ou até mesmo um vazamento de informações.

Criei um pequeno exemplo no Lazarus 2.0 para testar isso, usando o SHA1 para calcular o Hash de um string digitado em um EditBox e mostrando no formulário o resultado do hash, quando o botão Calcular é pressionado.

1) Crie um  novo projeto no Lazarus;

2) Inclua um Editbox (TEdit),  um Label (Tlabel) e um Botão (TButton );

3) Na lista Uses, inclua Sha1;

4) Nesse exemplo não mudei o nome dos objetos;

5) Dois clique no botão e digite o seguinte código;

procedure TForm1.Button1Click(Sender: TObject);
var hashTexto : TSHA1Digest;
begin
   hashTexto := Sha1String( Edit1.Text );
   label1.Caption:= SHA1Print( hashTexto );
end;

Veja o resultado:

Criando o Hash de uma string

Criando o Hash de uma string

 

* Hash : https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_hash

Um hash (ou escrutínio) é uma sequência de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F), representando um nibble cada. O conceito teórico diz que “hash é a transformação de uma grande quantidade de dados em uma pequena quantidade de informações”.

Essa sequência busca identificar um arquivo ou informação unicamente. Por exemplo, uma mensagem de correio eletrônico, uma senha, uma chave criptográfica ou mesmo um arquivo. É um método para transformar dados de tal forma que o resultado seja (quase) exclusivo. Além disso, funções usadas em criptografia garantem que não é possível a partir de um valor de hash retornar à informação original.

Conclusão:

A IDE – Lazarus (Free Pascal ) está cada dia melhor, um exemplo de como o software livre pode evoluir e crescer.

Criar um hash da senha, e guardar no banco de dados é uma boa opção, depois é só comparar o hash  da senha digitada no campo Password da sua aplicação com o hash gravado no seu banco de dados, se forem iguais, permitir o acesso.

 

#susviela

 


 

Ajude a manter o BLOG – Faça uma Colaboração :

Criptomoeda Doge:

D7erXNGo3cYcXhVnPny3CGwrr2yc9azuAV

Faça uma doação na criptomoeda Doge

 

 

– – / / – –

—- [ Conheça nosso sistema de gestão comercial: POWER Admc ] —-

https://poweradmc.wordpress.com/

 

Anúncios

Sobre Carlos Susviela

Programador (Desktop / web) WebDeveloper (Sistemas e páginas internet) Técnico Informática / Criptomoedas http://www.PowerInformatica.com.br --------------------------- Torcedor: S.C. Internacional / RS / Brasil
Esse post foi publicado em Banco de Dados, Dicas: Software (Programas ), Educação e Conhecimento, Free Pascal, Programação, Programação Lazarus e marcado , , , , , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s