15/09/2004

gravar a senha criptografada

Srs, bom dia!
Na aplicação que estou desenvolvendo usando Delphi7+Firebird1.5 e DBExpress, gostaria de saber como no cadastro de usuários, armazenar a senha do mesmo, criptografada no banco de dados.

Agradeço desde já.


Programalista

Respostas

15/09/2004

Vinicius2k

Colega,

Depende um pouco do nível de segurança que vc pretende ter...
Vc mesmo pode criar uma pequena rotina de encriptação e decriptação que utilize inversões de caracteres, e/ou funções como mod e div... no site da ClubeDelphi tem um exemplo de rotinas para isso... http://www.clubedelphi.net/artigos/cript_text.asp

Vc pode também utilizar componentes ou algorítimos, que utilizem métodos ´pesados´ de criptografica como, Blowfish, Rijndael ou RSA...
Eu recomendo estes : http://sourceforge.net/projects/tplockbox/
É Open Source... mas vai requerer algum tempo seu para estudo, já que são profissionais...

Espero ter ajudado...
T+


Responder Citar

15/09/2004

Cebikyn

Não se usa guardar senhas, nem mesmo criptografadas! Armazena-se o Hash da senha no banco (sem qualquer criptografia), e na hora que for necessária a verificação, compara-se o Hash do que texto digitado com o Hash armazenado. Isto garante uma boa segurança, pois não é possível obter a senha a partir do Hash e não há dois textos com o mesmo Hash.

Mais informações sobre o Hash em:
http://paginas.terra.com.br/informatica/cebikyn/seguranca/cripto_gloss.htm#Hash

Para usar Hash no Delphi, verifique o segundo link do Vinicius2 (a cima).

Se tiver dúvidas, deixe uma msg como resposta a este tópico.


Responder Citar

16/09/2004

Beppe

Isto garante uma boa segurança, pois não é possível obter a senha a partir do Hash e não há dois textos com o mesmo Hash.

Mas é possível que alguém faça um update na tabela com um hash de um texto conhecido. Com criptografia de chave privada/pública, isto não acontece, pois deve saber-se a chave privada, que fica em domínio do desenvolver, que deve esconder em algum lugar do aplicativo. Agora, se ninguém tem acesso ao banco, acho que não é necessário nehum tipo de segurança adicional.


Responder Citar