Boa noite
Gostaria de criar uma tabela “tbl_usuario” com os campos nome e senha que a senha não ficasse esposta, uma criptografia ou algo assim no postgresql
Ao dar um insert a senha não poder ser lida caso alguem leia os dados da tabela
Tabela com campo criptografado
4 Respostas
A maioria dos bancos de dados tem funções prontas.
Que eu sei o MySQL com certeza tem as funções SHA(string), encode(string), SHA1(string), MD5(string).
Assim, você criptografa a senha usando a função do banco de dados.
Mas o melhor mesmo é passar a string da senha por um algoritmo em java, ou na linguagem que você tiver implementando o sistema, e grava a string da senha criptografada no banco de dados.
Quando o usuário for logar no sistema, criptografa a senha enviada e compara com a do banco de dados pra saber se é igual.
Legal porem o que eu gostaria é gravar na tabela o md5
ao dar um select * from usuarios where id = 1;
mostrar
1 | joao | dccd96c256bc7dd39bae41a405f25e43
embora ja vi que tem um site que converte de volta (senhas pequenas)
md5 não é uma boa opção para armazenar senhas no banco de dados
E além desse site que vc citou, existem outros bom bases de dados de md5’s.
http://www.lightbluetouchpaper.org/2007/11/16/google-as-a-password-cracker/
É realmente fico com o pé atras
o que eu queria era isso:
usuario1=# insert into usuarios values(3,‘usando_senha_grande’,md5(‘usando_senha_grande’));
INSERT 0 1
usuario1=# select * from usuarios where senha= md5(‘usando_senha_grande’);
id | nome | senha
----±--------------------±---------------------------------
3 | usando_senha_grande | 02d2380750668941a339517a531b322a
(1 row)
Legal grava com a criptografia
porem se da para ver ate 5 porque não mais?