Ir para conteúdo

POWERED BY:

Arquivado

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

roger_php

Como descriptografar?

Recommended Posts

Amigos estou criptografando o usuario e a senha, mas quando é para descriptografar ele não dá certo:<?php//obtem os valores digitados$apelido=$_POST["apelido"];$senha=$_POST["senha"];$apel_des = base64_decode($apelido);$senha_des = base64_decode($senha);//acesso ao banco de dadosinclude "conecta_mysql.inc.php";$resultado = mysql_query("SELECT * FROM cad_usuario where cj_usr_chr_apelido='$apel_des' ");$linhas = mysql_num_rows ($resultado);if($linhas==0) //testa se a consuta retornou algum registro { echo "<html><body>"; echo "<p align=center>Apelido não encontrado.</p>"; echo "<p align=center><a href=default.php>Voltar</a></p>"; echo "</body></html>";Ele sempre cai no IF, pois não encontra o apelido(username). Sendo que no banco esta criptografado, o que esta dando de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

$apel_des = base64_decode($apelido);$resultado = mysql_query("SELECT * FROM cad_usuario where cj_usr_chr_apelido='$apel_des' ");

pois não encontra o apelido(username). Sendo que no banco esta criptografado

Então o problema é esse, você está procurando descriptografado e no banco está criptografado.

 

 

Obs: Tratar senhas com um algoritmo tão facilmente reversível como base64 não é muito seguro. O ideal seria utilizar md5 para guardar no bd, depois na hora de testar se a senha está correta seria só utilizar o md5 na entrada e ver se bate com algum dos hashes guardados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim:

//obtem os valores digitados$apelido = $_POST["apelido"];$senha = $_POST["senha"];$apel_des = base64_encode($apelido);$senha_des = base64_encode($senha);//acesso ao banco de dadosinclude "conecta_mysql.inc.php";$resultado = mysql_query("SELECT * FROM cad_usuario where cj_usr_chr_apelido='$apel_des'");$linhas = mysql_num_rows ($resultado);if($linhas==0) //testa se a consuta retornou algum registro{echo "<html><body>";echo "<p align=center>Apelido não encontrado.</p>";echo "<p align=center><a href=default.php>Voltar</a></p>";echo "</body></html>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim:

//obtem os valores digitados$apelido = $_POST["apelido"];$senha = $_POST["senha"];$apel_des = base64_encode($apelido);$senha_des = base64_encode($senha);//acesso ao banco de dadosinclude "conecta_mysql.inc.php";$resultado = mysql_query("SELECT * FROM cad_usuario where cj_usr_chr_apelido='$apel_des'");$linhas = mysql_num_rows ($resultado);if($linhas==0) //testa se a consuta retornou algum registro{echo "<html><body>";echo "<p align=center>Apelido não encontrado.</p>";echo "<p align=center><a href=default.php>Voltar</a></p>";echo "</body></html>";
Cara eu fiz exatamente isso, e não dá certo ele continua caindo no IF. O que esta acontecendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o apelido que está no bd foi criptografado com base6_encode() ??

Estão sendo os dois criptografados assim:$apelido_des = base64_encode($apelido);$senha_des = base64_encode($senha);

Compartilhar este post


Link para o post
Compartilhar em outros sites

No banco de dados eles já estão criptografados?Se já estiverem o problema no seu código fica aqui:

$apel_des = base64_decode($apelido);$senha_des = base64_decode($senha);
Aqui você está decodificando ao invés de codificar.Agora, se você recebe a entrada normal, você precisa codificá-la:

$apel_des = base64_encode($apelido);$senha_des = base64_encode($senha);

Como o MagicalTrevor colocou.

/* SUA ESCOLHA DEPENDE DE COMO ESTÁ NO BANCO DE DADOS */// criptografa$apel_des = base64_encode($apelido);$senha_des = base64_encode($senha);// descriptografa$apel_des = base64_decode($apelido);$senha_des = base64_decode($senha);/**********************///acesso ao banco de dadosinclude "conecta_mysql.inc.php";$myquery = "SELECT * FROM cad_usuario where cj_usr_chr_apelido=$apel_des";$resultado = mysql_query($myquery);$linhas = mysql_num_rows ($resultado);

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.