Ir para conteúdo

Arquivado

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

Raul Bismarck

[Resolvido] Criptografar Senha em PHP

Recommended Posts

Boa noite. Eu tenho um código que cadastra alguns dados no banco de dados (mysql), e um desses campos é "senha".

É o seguinte: Eu cadastro, por exemplo, a senha do usuário "123". E quando eu vou ver no banco de dados, aparece lá a senha que eu cadastrei, ou seja, 123.

Como que eu faço para encriptografar essa senha?

 

Segue o código abaixo:

 

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>

<?php
if(!$_SESSION["login"])
die("<h3>Você não tem autorização para entrar nesta página!</h3>");
else 
?>  

<form method="post">
<table>

<tr>
<td><b>CADASTRAR RELATOR</b></td>
</tr>

<tr>
<td>Nome Completo:*</td>
<td><input type="text" name="nome" size="40"></input></td>
</tr> 

<tr>
<td>CPF:*</td>
<td><input type="text" name="cpf" size="9" maxlength="11"></input>(Apenas Números)</td> 
</tr>

<tr>
<td>E-mail:*</td>
<td><input type="text" name="email" size="40"></input></td>
</tr>

<tr>
<td>Ramal:</td>
<td><input type="text" name="ramal" size="4" maxlength="4"></input></td>
</tr>

<tr>
<td>Departamento:*</td>
<td><input type="text" name="departamento" size="20"></input></td>
</tr>

<tr>
<td>Login:*</td>
<td><input type="text" name="loginREL" size="25"></input></td>
</tr> 

<tr>
<td>Senha:*</td>
<td><input type="password" name="senhaREL" size="25"></input></td> 
</tr>

<tr> 
<td><input type="submit" name="enviar" value="Cadastrar"></input></td> 
</tr> 

</table>

</form>

</body>

<?php
include ("conexao.php");
?>

<?php
if($_POST["enviar"])
{
$nome = $_POST["nome"];
$cpf = $_POST["cpf"];
$email = $_POST["email"];
$ramal = $_POST["ramal"];
$departamento = $_POST["departamento"];
$loginREL = $_POST["loginREL"];
$senhaREL = $_POST["senhaREL"];

if(empty($nome) OR empty($cpf) OR 
empty($email) OR empty($departamento) OR 
empty($loginREL) OR empty($senhaREL)){
echo "<script>
alert('* Campos obrigatórios!');

</script>";
exit;
}

$sql = "SELECT * FROM `relatores` WHERE `loginREL` = '$loginREL'";
$query = mysql_query( $sql ) or die ( mysql_error() );
$total_registered = mysql_num_rows( $query );

if( $total_registered > 0 ){
echo "<script>
alert ('O Login digitado já existe!');
   </script>";
}else{

$insert="INSERT INTO relatores(codigo,nome,cpf,email,ramal,departamento,loginREL,senhaREL) VALUES(NULL,'$nome','$cpf','$email','$ramal','$departamento','$loginREL','$senhaREL')";
mysql_query($insert,$conexao);
echo "<script>
alert ('Dados inseridos com sucesso!');
   </script>";
}

}
?>

<br />
<a href='relator.php'><img src="voltar.png"></img></a>

</html> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega muitas pessoas utilizam MD5, não é possível descriptografar para validar a senha na hora do login é só criptografar a senha e comparar com a do banco de dados, se alguém conseguir a senha criptografada é possível descobrir a senha do usuário fazendo força bruta, desta forma verifique a melhor forma de criptografar a senha usando MD5

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega muitas pessoas utilizam MD5, não é possível descriptografar para validar a senha na hora do login é só criptografar a senha e comparar com a do banco de dados, se alguém conseguir a senha criptografada é possível descobrir a senha do usuário fazendo força bruta, desta forma verifique a melhor forma de criptografar a senha usando MD5

 

Mas eu quero saber é como usar no campo senha do meu código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas eu quero saber é como usar no campo senha do meu código.

 

 

De forma simples que falei é assim:


$senhaREL = md5($_POST["senhaREL"]);

 

Sugiro que você valide seus dados antes de inserir no banco de dados para evitar SQLinjection

Compartilhar este post


Link para o post
Compartilhar em outros sites

De forma simples que falei é assim:


$senhaREL = md5($_POST["senhaREL"]);

 

Sugiro que você valide seus dados antes de inserir no banco de dados para evitar SQLinjection

 

Funcionou, mas quando eu tento logar não é possível.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É quem nem eu falei colega, na hora de logar criptografa a senha digitada e verifica se ela é igual a registrada no banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui aqui!

 

<?php
if($_POST["enviar"])
{
$nome = $_POST["nome"];
$cpf = $_POST["cpf"];
$email = $_POST["email"];
$ramal = $_POST["ramal"];
$departamento = $_POST["departamento"];
$loginREL = $_POST["loginREL"];
$senhaREL = md5 ($_POST["senhaREL"]);

if ($senhaREL != ""){
$senhaa = base64_encode($senhaREL);
}

if(empty($nome) OR empty($cpf) OR 
empty($email) OR empty($departamento) OR 
empty($loginREL) OR empty($senhaREL)){
echo "<script>
alert('* Campos obrigatórios!');

</script>";
exit;
}

$sql = "SELECT * FROM `relatores` WHERE `loginREL` = '$loginREL'";
$query = mysql_query( $sql ) or die ( mysql_error() );
$total_registered = mysql_num_rows( $query );

if( $total_registered > 0 ){
echo "<script>
alert ('O Login digitado já existe!');
   </script>";
}else{

$insert="INSERT INTO relatores(codigo,nome,cpf,email,ramal,departamento,loginREL,senhaREL) VALUES(NULL,'$nome','$cpf','$email','$ramal','$departamento','$loginREL','$senhaREL')";
mysql_query($insert,$conexao);
echo "<script>
alert ('Dados inseridos com sucesso!');
   </script>";
}

}
?>

<br />
<a href='relator.php'><img src="voltar.png"></img></a>

</html>

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.