Boa Tarde a Todos,
Minha duvida é a seguinte, quando eu uso as funções PASSWORD e MD5 no mysql ele criptografa a senha normal, até ai beleza, mas e quando eu quero fazer um SELECT pra ver a senha descriptografada, com essas funções eu não consegui fazer isso, apenas com a AES_ENCRYPT e AES_DECRYPT deu certo, como faço isso?
A outra duvida é em relação ao Workbench, quando eu faço o REVERSE ENGINEERING ele monta o Diagrama certinho, mas ele não importa os dados inseridos, como faço para fazer o REVERSE ENGINEERING pegando os INSERTS também.
1: Chave A
Para que isso funcione, você deve definir uma “chave” para usar quando criptografar e descriptografar as informações do banco de dados. Seria melhor para armazenar essa chave em algum lugar no seu servidor fora do diretório principal em que você está trabalhando. Esta chave pode ser o que quer que seja, mas você também deve fazer referência a mesma chave de criptografia e descriptografia durante.
$ Chave = 'ASKSDFNSDFKEISDJAHDLDSDF1235UUUiidfsdf ";
2: criptografar a senha
mysql_query (“INSERT INTO utilizadores (user_first, user_last, user_password) VALUES (’”. $ _POST [’ primeiro ‘]. "’, ‘". $ _POST [’ última ‘].’ ", AES_ENCRYPT ($ _POST ['password '], $ chave)) ");
3: decifrar a senha
Agora, para mostrar a senha decifrada, você vai precisar de uma consulta semelhante ao abaixo:
$ Password = mysql_fetch_row (mysql_query ("‘chave $’ SELECT AES_DECRYPT (user_password), dos usuários ONDE user_id = 4"));
echo $ senha [0];
Assim, usando AES_ENCRYPT e AES_DECRYPT pode ser muito útil quando você precisa armazenar informações criptografadas em um banco de dados, bem como exibir o original, não criptografado da informação. Lembre-se, você deve usar uma “chave” para “desbloquear” e exibir as informações criptografadas.
fonte: http://www.johnboy.com/blog/how-to-use-mysqls-aes_encrypt-and-aes_decrypt-to-store-passwords-in-a-database
espero ter ajudado.
Cara, valeu pela atenção, mas essa criptografia AES eu ja manjei, o que eu queria mesmo era sobre a “PASSWORD” e a “MD5”, criptografar e fazer um select com elas ta tranquilo, mas se eu quiser ver o que esta escrito eu nao consigo, é o que eu quero saber se tem como.
O MD5 é uma criptografia conhecida como one-way encryption (ou unidirecional), onde você não tem como descriptografar…
Porém, a mesma entrada sempre vai retornar o mesmo valor, sendo utilizado bastante em funções como o login.
Normalmente nesses sistemas de login é utilizada essa forma:
Você pega a senha que o usuário digitou, faz o md5() e usa este valor para o select no banco. Por exemplo:
select * from usuario where usuario.nome = [nome] and usuario.senha = md5([senha]);
Entendeu?
Valeu!