Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 14

Comparar senha md5

26-02-2010 20:06

Ola galera gostaria que me ajudassem nesse problema...
tenho um servidor de PW e preciso fazer um sistema para troca de senha...
o banco de dados é sql e a coluna senha é binaria...

estou fazendo o seguinte esquema para comparar as senhas....

Essa é a forma que é registrada a senha no banco de dados.

$aaa =$login.$senha; $md2=md5($aaa); $cc="0x"; $md5=$cc.$md2; $query = "exec changePasswd '$login',$md5"; $rresult = mssql_query($query) or die("Failed to execute query! Something went wrong..."); 

Para comparar estou fazendo dessa forma....

$aaa =$logindigitado.$senhadigitada; $md=md5($aaa); $cc="0x"; $md52=$cc.$md; $senha222 = md5($md52); $senharegistrada = mssql_result($rresult,0,"passwd"); $senhadbmd5= md5($senharegistrada); if("$senha222" != "$senhadb"){ echo "<br />Senha Atual Incorreta!"; exit; 

O problema é que nao bate as senhas md5 registrada no BD e a que o usuario digitou.... :-?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comparar senha md5

26-02-2010 20:30

Os valores de login e senha estão sendo extraídos? Ou seja, definidos o método usado, se GET ou POST?

Outra coisa, no if você usa

if("$senha222" != "$senhadb"){ 

Só que em nenhum lugar vejo o $senhadb, e parece que você passa o md5 uma vez mais.

$senha222 = md5($md52); 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 14

Comparar senha md5

26-02-2010 23:46

Na verdade eu alterei essa variável para voces entenderem melhor aki no forum, mas acabei esquecendo de trocar no IF. os dados estao sendo recolhidos certinho via POST..

$aaa =$logindigitado.$senhadigitada; $md=md5($aaa); $cc="0x"; $md52=$cc.$md; $senha222 = md5($md52); $senharegistrada = mssql_result($rresult,0,"passwd"); $senhadbmd5= md5($senharegistrada); if("$senha222" != "$senhadbmd5"){ echo "<br />Senha Atual Incorreta!"; exit; 

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comparar senha md5

27-02-2010 11:44

O que disse que você inverteu algumas variáveis ai, na hora de gravar a senha e na hora de recuperar.

Eu dei uma enxugada no seu código

Para gravar a senha

$logindigitado = "a"; $senhadigitada = "b"; $aaa = "0x".md5($logindigitado.$senhadigitada); 

Sendo assim, a senha gravada no BD será
0x187ef4436122d1cc2f40dc2b92f0eba0
Para recuperar será o mesmo processo, nada muda, você vai comparar o $aaa com a variável da senha que está no bd

Antes de fazer seu if, dê um echo para verificar se a variável do BD está sendo imprimida.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 14

Comparar senha md5

01-03-2010 17:30

eita, mudei aki mesmo assim não bate uma com a outra de jeito nenhum....

olha como eu coloquei

<?php  $login = "morellato"; $senha = "123456"; //INICIANDO CONEXAO $conn = mssql_connect($SERVER,$ADMIN_NAME,$ADMIN_PASS); $db = mssql_select_db($DATABASE,$conn) or die("Não Foi Possivel conectar ao Banco de Dados!"); $query = "SELECT * FROM users WHERE (name = '$login')"; $rresult = mssql_query($query) or die("Não Foi Possivel Conectar a Query! Erro: 01"); //SE O NUMERO DE USUARIO COM LOGIN FOR 0 NAO EXISTE CADASTRADO $last2=mssql_num_rows($rresult); if ($last2 == 1) { $digitada = "0x".md5($login.$senha); $senhadb = mssql_result($rresult,0,"passwd2"); $senhadb2 = md5($senhadb); echo"$digitada / $senhadb2"; } else { echo "<script>alert('Login não Existe!'); location.href='voltar.php'; </script>"; exit; }; ?>

Se colocar o echo assim ele imprimi::

echo"$digitada / $senhadb"; 

0x905fa6f717b45e5f6aa358cb7cf98445 / ªk–j»2š€õ¤ð€:N

echo"$digitada / $senhadb2"; 

0x905fa6f717b45e5f6aa358cb7cf98445 / 2325037300128e84dab310d8758b1f7d

e a senha e o login estao corretos.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comparar senha md5

01-03-2010 19:10

Porque você passa o md5 novamente na senha que pega do bd

$senhadb = mssql_result($rresult,0,"passwd2"); $senhadb2 = md5($senhadb); 

Tenta sem, porque ela já está criptografada no bd.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 14

Comparar senha md5

01-03-2010 22:17

Pessoal consegui resolver o problema estava na funcao STORED PROCEDURES do SQL SERVER... segue abaixo o novo codigo para capturar os dados do banco de dados..

$query = "select master.dbo.fn_varbintohexsubstring(1,passwd,1,0) AS Senha, * from users WHERE (name = '$login')"; 

e a outra parte

$senhadb = mssql_result($rresult,0,"Senha"); 

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Comparar senha md5

01-03-2010 22:20

Blz
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Google [Bot], web