Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Super_Zica_Man

Criptografar senha com MD5

Recommended Posts

<?php@ini_set('display_errors', '1');error_reporting(E_ALL);$login	  = $_POST["login"];$senha 		= $_POST["senha"];$email	  = $_POST["email"];$nome	 	= $_POST["nome"];$sobrenome  = $_POST["sobrenome"];$sexo	 	= $_POST["sexo"];$cidade	 = $_POST["cidade"];	 mysql_connect("localhost", "root", "root");mysql_select_db("db");mysql_query("INSERT INTO tabela ( id_tabela , login , senha , email , nome , sobrenome , sexo , cidade ) 			VALUES ( NULL , '$login', [color="#0000FF"][b]'$senha = md5($senha)'[/b][/color], '$email', '$nome', '$sobrenome', '$sexo', '$cidade')");mysql_close();echo "Salvo com sucesso<br />";?>

 

A senha aparece no banco =md5($senha) alguma coisa assim....

 

Como eu uso corretamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está usando md5() dentro da string, por isso aparece no BD. faç assim:

 

mysql_query("INSERT INTO tabela ( id_tabela , login , senha , email , nome , sobrenome , sexo , cidade ) VALUES ( NULL , '$login', '" . md5($senha) . "', '$email', '$nome', '$sobrenome', '$sexo', '$cidade')");

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu coloquei isso ele , não cadastrou mais, voltei para o normal a senha pegar só o texto daí cadastrou.

 

O que eu fiz de errado?

 

<?php@ini_set('display_errors', '1');error_reporting(E_ALL);$nome	  = $_POST["nome"];$sobrenome = $_POST["sobrenome"];$senha = $_POST["senha"];$email	 = $_POST["email"];$sexo	  = $_POST["sexo"]; mysql_connect("localhost", "root", "root");mysql_select_db("db");mysql_query("INSERT INTO tabela ( id_tabela , nome , sobrenome ,senha , email , sexo ) 			VALUES ( NULL , '$nome', '$sobrenome','" . md5($senha) . "', '$email', '$sexo')");mysql_close();echo "Salvo com sucesso<br />";?><a href="index.html">Voltar</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. faz o seguinte:

<?php@ini_set('display_errors', '1');error_reporting(E_ALL);$login = $_POST["login"];$senha = md5($_POST['senha']);$email = $_POST["email"];$nome = $_POST["nome"];$sobrenome = $_POST["sobrenome"];$sexo = $_POST["sexo"];$cidade = $_POST["cidade"];     mysql_connect("localhost", "root", "root");mysql_select_db("db");mysql_query("INSERT INTO tabela ( id_tabela , login , senha , email , nome , sobrenome , sexo , cidade )             VALUES ( NULL , '$login', '$senha', '$email', '$nome', '$sobrenome', '$sexo', '$cidade')");mysql_close();echo "Salvo com sucesso<br />";?>

Beleza, meu chapa?Se nao funcionar, poste!..Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha Jack nem testei a sua dica, pois achei o meu erro:No banco de dados a senha estava como varchar(12), mas o md5 me retorna 32 caracteres por isso nao estava dando certo, mas valeu :DSo uma outra duvida o md5 sempre vai me retornar 32 caracteres? Posso usar no banco um char(32)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego, Eu não vejo porqeu utilizar varchar, se retorna sempre 32 caracteres, utlizando char ele vai consumir menos o banco, explique o porque utilizar varchar? e qual tamanho do varchar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim , eu fiz uns testes e todos me retornaram 32 caracteres.E pelo que eu vi no forum o mais adequado mesmo e o char.Acabei de ver no tópico do Fabyo sobre escolher o tipo de campo correto:"...outro exemplo é usar o CHAR para guardar senha, isso mesmo por segurança vamos criptografar senha usando MD5, o MD5 nao importa o tamanho de sua senha ele sempre retorna a senha criptografada de 32 caracteres, entao podemos usar CHAR(32) para campo senha."Link:http://forum.imasters.com.br/index.php?showtopic=191441Mas obrigado, problema resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego, Eu não vejo porqeu utilizar varchar, se retorna sempre 32 caracteres, utlizando char ele vai consumir menos o banco, explique o porque utilizar varchar? e qual tamanho do varchar?

é, to vendo aqui que ele retorna um hash hexadecimal, então char resolve o problema.você tem razão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A dúvida minha eh depois de aplicado o md5.A senha vai pro banco criptografado, e daí não tem como descriptografar certo?Na hora do usuario acessa a conta dele, ele vai por o login e a senha...Como que eu vo compara a senha dele com a do banco de dados se a do banco são 32 letras/numeros... e a senha dele eh algo diferente??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criptografa a senha digitada pelo o usuario e depois compara com a senha do bd!

exemplo:

$password = md5($_POST['password']);  include "Connections/conexao.php";  $usuario_escape = addslashes($userid);  $senha_escape = addslashes($password);  $query = "select * from tb_usuario 		   where login='{$usuario_escape}' 		   and senha='{$senha_escape}'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.