Olá! Thursday, 28 de March de 2024.



Dicas CódigoFonte.net
Sunday, 15 de August de 2004

Criptografia de senhas em PHP


Nesse artigo estarei apresentando, de uma forma simples, a criptografar uma senha em PHP. A criptografia de senhas é bastante usada tendo em vista a segurança, já que somente a pessoa que a cadastrou terá acesso.

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.

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) );

2 - Criar o arquivo que vai fazer a conexão com a nossa base de dados MySQL (conecta.php)

Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.

"; exit; } //2º passo - Seleciona o Banco de Dados if(!($con=mysql_select_db($dbname,$id))) { echo "

Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.

"; exit; } ?>

3 - Arquivo que vai criptografar a senha (cript.php)


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.

Id_senhaSenhaCript
1123456565491d704013245
O campo id_senha é auto_incremento;
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.

Atenção: Quando 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)

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:

$sql = 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.

Conclusão: Quando se tem uma senha criptografada, é necessário criptografar ela também para fazer pesquisa.

Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010