Para isso, vamos fazer uso da função password().
Lembrete: Está função,
só criptografa a senha e não tem um método
de descriptografia.
Lembrete: Está função,
só criptografa a senha e não tem um método
de descriptografia.
Exemplo prático
1 – Vamos criar uma pequena tabela (tb_teste)
CREATE
TABLE tb_teste (
id_senha int(3) NOT NULL auto_increment,
senha varchar(20) NOT NULL DEFAULT ” ,
cript varchar(30) NOT NULL DEFAULT ” ,
PRIMARY KEY (id_senha)
);
TABLE tb_teste (
id_senha int(3) NOT NULL auto_increment,
senha varchar(20) NOT NULL DEFAULT ” ,
cript varchar(30) NOT NULL DEFAULT ” ,
PRIMARY KEY (id_senha)
);
2 – Criar o arquivo que vai fazer a conexão com
a nossa base de dados MySQL (conecta.php)
a nossa base de dados MySQL (conecta.php)
<?
/* Conecta com um banco de dados MySQL conforme parâmetros
enviados (servidor = localhost)
Banco de Dados: $dbname
Porta: $usuario
Senha: $senha*/
/* Conecta com um banco de dados MySQL conforme parâmetros
enviados (servidor = localhost)
Banco de Dados: $dbname
Porta: $usuario
Senha: $senha*/
$dbname="nomedobd";
$usuario="";
$password="";
$usuario="";
$password="";
//1º passo – Conecta ao servidor MySQL
if(!($id = mysql_connect("localhost",$usuario,$password)))
{
echo "<p align="center"><big><strong>Não
foi possível estabelecer
uma conexão com o gerenciador MySQL. Favor Contactar
o Administrador.
</strong></big></p>";
exit;
}
//2º passo – Seleciona o Banco de Dados
if(!($con=mysql_select_db($dbname,$id))) {
echo " <p align="center"><big><strong>Não
foi possível estabelecer
uma conexão com o gerenciador MySQL. Favor Contactar
o Administrador.
</strong></big></p>";
exit;
}
?>
3 – Arquivo que vai criptografar a senha (cript.php)
<?
include "conecta.php"; //chama o arquivo que
conecta ao MySQL
include "conecta.php"; //chama o arquivo que
conecta ao MySQL
$senha = ‘123456’;
$sql = mysql_query("INSERT INTO tb_teste(senha,cript)
VALUES(‘$senha’,password(‘$senha’))")
or
die("ERRO no comando SQL : ".mysql_error());
echo "Senha criptografada";
?>
Como vocês podem ver acima,
eu deixei uma senha padrão = 123456. Depois de ter
executado o comando acima, veja como vai ficar gravado em
nossa base de dados.
eu deixei uma senha padrão = 123456. Depois de ter
executado o comando acima, veja como vai ficar gravado em
nossa base de dados.
Id_senha
|
Senha
|
Cript
|
1
|
123456
|
565491d704013245
|
O campo id_senha é auto_incremento;
O campo senha é o dado sem estar criptografado.
O campo cript é a senha criptografada.
O campo senha é o dado sem estar criptografado.
O campo cript é a senha criptografada.
Esse é um exemplo simples do uso da função
password() para a criptografia de senhas em
PHP. Aconselho vocês a modificarem o código para
que se possa fazer a adaptação necessária
a seu uso.
password() para a criptografia de senhas em
PHP. Aconselho vocês a modificarem o código para
que se possa fazer a adaptação necessária
a seu uso.
Atenção: Quando
for fazer uma pesquisa, você precisa criptografar esse
campo também, caso contrário, sua pesquisa não
irá retornar nada.
for fazer uma pesquisa, você precisa criptografar esse
campo também, caso contrário, sua pesquisa não
irá retornar nada.
Exemplo prático: (pesq.php)
<?
include "conecta.php"; //Conecta com a nosso
banco de dados MySQL
<?
include "conecta.php"; //Conecta com a nosso
banco de dados MySQL
$senha
= ‘123456’;
$sql = mysql_query("SELECT senha,cript FROM tb_teste
WHERE
cript
= password($senha)") or die("ERRO no comando SQL
: ".mysql_error());
= ‘123456’;
$sql = mysql_query("SELECT senha,cript FROM tb_teste
WHERE
cript
= password($senha)") or die("ERRO no comando SQL
: ".mysql_error());
if(mysql_num_rows($sql) > 0)
echo "Achei a senha";
else
echo "Não achei";
?>
Dica:Faça um teste, execute o arquivo cript.php para
criptografar a senha(123456). Depois de ter feito, execute
o arquivo pesq.php, que é o responsável pela
pesquisa de senha. Se tudo ocorrer bem, ele deve te informar
que ele encontrou a senha. Para concluir, faça o seguinte:
mude a linha do SQL do arquivo pesq.php para:
criptografar a senha(123456). Depois de ter feito, execute
o arquivo pesq.php, que é o responsável pela
pesquisa de senha. Se tudo ocorrer bem, ele deve te informar
que ele encontrou a senha. Para concluir, faça o seguinte:
mude a linha do SQL do arquivo pesq.php para:
$sql
= mysql_query("SELECT senha,cript FROM tb_teste
WHERE
cript
= $senha") or die("ERRO no comando SQL : ".mysql_error());
= mysql_query("SELECT senha,cript FROM tb_teste
WHERE
cript
= $senha") or die("ERRO no comando SQL : ".mysql_error());
O que fizemos foi tirar a função password()
do SELECT. Como resultado teremos a frase: Não achei.
do SELECT. Como resultado teremos a frase: Não achei.
Conclusão: Quando se tem uma senha criptografada,
é necessário criptografar ela também
para fazer pesquisa.
é necessário criptografar ela também
para fazer pesquisa.
