Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom, alguem pode me ajudar com isso...
Eu quero criptografar a senha quando o usuario cria sua senha, eu ja até consegui só que quando eu colokei o mp5 q eu usei ele ele cripto a senha. Exemplo:
Eu criei usuario Marcos senha 1234, ai ele enviou a senha pro banco de dados asldfu773837fdlsflsf....
Ele criptografou so que... o usuario marcos nao consegue entrar coma senha 1234 pq a senha que vale agora é a " asldfu773837fdlsflsf"
E eu nao sei por que isso
Mais se alguem poder me explicar e me mostrar como eu faço pra criptografar a senha e somente o usuario saber a senha,
Eu acho melhor o sha1 ou vcs preferem md5 ou outro ?? quem tem maior conhecimento nisso..
Com relação a "qual é a melhor criptografia", te recomendo dar uma lida nestes três artigos do Thiago Belém:
Bons estudos! :thumbsup:
ALguem pode criptografar a senha do usuario na hora q ele cadastra fazendo favor, Utilizando o SHA1
cadastro.php
<?php if(isset($_POST['entrar']) && $_POST['entrar'] && 'cadastrar')
{
$nome = $_POST['nome'];
$sobrenome = $_POST['sobrenome'];
$sexo = $_POST['sexo'];
$pais = $_POST['pais'];
$cod_estados = $_POST['cod_estados'];
$cidades = $_POST['cod_cidades'];
$email = $_POST['email'];
$login = $_POST['login'];
$senha = $_POST['senha'];
if(empty($nome) )
{
echo"<script>alert('Preencha o campo nome.');</script>";
}else if(empty($sobrenome) )
{
echo"<script>alert('Preencha o campo sobrenome.');</script>";
}else if(empty($sexo) )
{
echo"<script>alert('Selecione o campo Sexo.');</script>";
}else if(empty($pais) )
{
echo"<script>alert('Escolha o país.');</script>";
}else if(empty($cod_estados) )
{
echo"<script>alert('Selecione um estado.');</script>";
}else if(empty($cidades) )
{
echo"<script>alert('Selecione uma cidade.');</script>";
}else if(empty($email) )
{
echo"<script>alert('Preencha o campo email.');</script>";
}else if(empty($login) )
{
echo"<script>alert('Preencha o campo login.');</script>";
}else if(empty($senha) )
{
echo"<script>alert('Preencha o campo senha.');</script>";
}else
{
$sqlPesquisa = "SELECT & FROM usuarios WHERE login = '$login'";
$ex = mysql_query($sqlPesquisa);
$linha = mysql_num_rows($ex);
if($linha >1)
{
echo"<script>alert('Usuário ja existe, Por favor escolher outro nome.');</script>";
}
else
{
$sql = "INSERT INTO usuarios (usu_nome,usu_sobrenome,usu_sexo,usu_pais,usu_estado,usu_cidade,usu_email,usu_login,usu_senha) VALUES ('$nome','$sobrenome','$sexo','$pais','$cod_estados','$cidades','$email','$login','$senha')";
$query = mysql_query($sql);
if($query > 1)
{
echo "<script>alert('Usuario cadastrado com sucesso.');</script>";
}
else
{
echo "<script>alert('Erro ao tentar cadastrar o usuário.');</script>";
}
}
}
}
?>
Login.php
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['usu_login'])) {
$loginUsername=$_POST['usu_login'];
$password=$_POST['usu_senha'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "Perfil/Perfil.php";
$MM_redirectLoginFailed = "Sistema_login/erro.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_loginsenha, $loginsenha);
$LoginRS__query=sprintf("SELECT usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>A criptografia md5 é unidirecional, ou seja, "somente para um lado". Ela somente criptografa, sendo impossível descriptografar. Entretanto, há alguns sites na internet, com uma grande base de senhas criptografadas em MD5, assim senhas comuns já podem ser "descriptografadas", devido a essas bases de dados. O que pode ser feito é utilizar uma "key" no início de cada senha. Por exemplo.
$minhaKey = 'key_fodana';
$minhaSenha = md5( $minhaKey.'123456' );
Por não ser comum encontrar uma key como a foi mencionada acima (nem seria normal em um projeto para o cliente). Não será possível encontrar em alguma dessas bases de senhas.
O @Evandro Oliveira passou o modo correto de se validar uma senha, não importa o tipo de criptografia. No exemplo dele foi em MD5. Os artigos do @Guilherme Oderdenge são bem válidos, cabe a você escolher a criptografia a ser utilizada.
>
ALguem pode criptografar a senha do usuario na hora q ele cadastra fazendo favor, Utilizando o SHA1
cadastro.php
<?php if(isset($_POST['entrar']) && $_POST['entrar'] && 'cadastrar')
{
$nome = $_POST['nome'];
$sobrenome = $_POST['sobrenome'];
$sexo = $_POST['sexo'];
$pais = $_POST['pais'];
$cod_estados = $_POST['cod_estados'];
$cidades = $_POST['cod_cidades'];
$email = $_POST['email'];
$login = $_POST['login'];
$senha = $_POST['senha'];
if(empty($nome) )
{
echo"<script>alert('Preencha o campo nome.');</script>";
}else if(empty($sobrenome) )
{
echo"<script>alert('Preencha o campo sobrenome.');</script>";
}else if(empty($sexo) )
{
echo"<script>alert('Selecione o campo Sexo.');</script>";
}else if(empty($pais) )
{
echo"<script>alert('Escolha o país.');</script>";
}else if(empty($cod_estados) )
{
echo"<script>alert('Selecione um estado.');</script>";
}else if(empty($cidades) )
{
echo"<script>alert('Selecione uma cidade.');</script>";
}else if(empty($email) )
{
echo"<script>alert('Preencha o campo email.');</script>";
}else if(empty($login) )
{
echo"<script>alert('Preencha o campo login.');</script>";
}else if(empty($senha) )
{
echo"<script>alert('Preencha o campo senha.');</script>";
}else
{
$sqlPesquisa = "SELECT & FROM usuarios WHERE login = '$login'";
$ex = mysql_query($sqlPesquisa);
$linha = mysql_num_rows($ex);
if($linha >1)
{
echo"<script>alert('Usuário ja existe, Por favor escolher outro nome.');</script>";
}
else
{
$sql = "INSERT INTO usuarios (usu_nome,usu_sobrenome,usu_sexo,usu_pais,usu_estado,usu_cidade,usu_email,usu_login,usu_senha) VALUES ('$nome','$sobrenome','$sexo','$pais','$cod_estados','$cidades','$email','$login','$senha')";
$query = mysql_query($sql);
if($query > 1)
{
echo "<script>alert('Usuario cadastrado com sucesso.');</script>";
}
else
{
echo "<script>alert('Erro ao tentar cadastrar o usuário.');</script>";
}
}
}
}
?>
Login.php
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['usu_login'])) {
$loginUsername=$_POST['usu_login'];
$password=$_POST['usu_senha'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "Perfil/Perfil.php";
$MM_redirectLoginFailed = "Sistema_login/erro.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_loginsenha, $loginsenha);
$LoginRS__query=sprintf("SELECT usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
Fiz o que você pediu (criptografei com sha1), veja como ficou o código:
cadastro.php:
<?php if(isset($_POST['entrar']) && $_POST['entrar'] && 'cadastrar')
{
$nome = $_POST['nome'];
$sobrenome = $_POST['sobrenome'];
$sexo = $_POST['sexo'];
$pais = $_POST['pais'];
$cod_estados = $_POST['cod_estados'];
$cidades = $_POST['cod_cidades'];
$email = $_POST['email'];
$login = $_POST['login'];
$senha = $_POST['senha'];
$senha_enc = sha1($_POST['senha']);
if(empty($nome) )
{
echo"<script>alert('Preencha o campo nome.');</script>";
}else if(empty($sobrenome) )
{
echo"<script>alert('Preencha o campo sobrenome.');</script>";
}else if(empty($sexo) )
{
echo"<script>alert('Selecione o campo Sexo.');</script>";
}else if(empty($pais) )
{
echo"<script>alert('Escolha o país.');</script>";
}else if(empty($cod_estados) )
{
echo"<script>alert('Selecione um estado.');</script>";
}else if(empty($cidades) )
{
echo"<script>alert('Selecione uma cidade.');</script>";
}else if(empty($email) )
{
echo"<script>alert('Preencha o campo email.');</script>";
}else if(empty($login) )
{
echo"<script>alert('Preencha o campo login.');</script>";
}else if(empty($senha) )
{
echo"<script>alert('Preencha o campo senha.');</script>";
}else
{
$sqlPesquisa = "SELECT & FROM usuarios WHERE login = '$login'";
$ex = mysql_query($sqlPesquisa);
$linha = mysql_num_rows($ex);
if($linha >1)
{
echo"<script>alert('Usuário ja existe, Por favor escolher outro nome.');</script>";
}
else
{
$sql = "INSERT INTO usuarios (usu_nome,usu_sobrenome,usu_sexo,usu_pais,usu_estado,usu_cidade,usu_email,usu_login,usu_senha) VALUES ('$nome','$sobrenome','$sexo','$pais','$cod_estados','$cidades','$email','$login','$senha_enc')";
$query = mysql_query($sql);
if($query > 1)
{
echo "<script>alert('Usuario cadastrado com sucesso.');</script>";
}
else
{
echo "<script>alert('Erro ao tentar cadastrar o usuário.');</script>";
}
}
}
}
?>
Login.php:
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['usu_login'])) {
$loginUsername=$_POST['usu_login'];
$password=sha1($_POST['usu_senha']);
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "Perfil/Perfil.php";
$MM_redirectLoginFailed = "Sistema_login/erro.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_loginsenha, $loginsenha);
$LoginRS__query=sprintf("SELECT usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
Boa sorte com o resto... ;)
>
Fiz o que você pediu (criptografei com sha1), veja como ficou o código:
cadastro.php:
<?php if(isset($_POST['entrar']) && $_POST['entrar'] && 'cadastrar')
{
$nome = $_POST['nome'];
$sobrenome = $_POST['sobrenome'];
$sexo = $_POST['sexo'];
$pais = $_POST['pais'];
$cod_estados = $_POST['cod_estados'];
$cidades = $_POST['cod_cidades'];
$email = $_POST['email'];
$login = $_POST['login'];
$senha = $_POST['senha'];
$senha_enc = sha1($_POST['senha']);
if(empty($nome) )
{
echo"<script>alert('Preencha o campo nome.');</script>";
}else if(empty($sobrenome) )
{
echo"<script>alert('Preencha o campo sobrenome.');</script>";
}else if(empty($sexo) )
{
echo"<script>alert('Selecione o campo Sexo.');</script>";
}else if(empty($pais) )
{
echo"<script>alert('Escolha o país.');</script>";
}else if(empty($cod_estados) )
{
echo"<script>alert('Selecione um estado.');</script>";
}else if(empty($cidades) )
{
echo"<script>alert('Selecione uma cidade.');</script>";
}else if(empty($email) )
{
echo"<script>alert('Preencha o campo email.');</script>";
}else if(empty($login) )
{
echo"<script>alert('Preencha o campo login.');</script>";
}else if(empty($senha) )
{
echo"<script>alert('Preencha o campo senha.');</script>";
}else
{
$sqlPesquisa = "SELECT & FROM usuarios WHERE login = '$login'";
$ex = mysql_query($sqlPesquisa);
$linha = mysql_num_rows($ex);
if($linha >1)
{
echo"<script>alert('Usuário ja existe, Por favor escolher outro nome.');</script>";
}
else
{
$sql = "INSERT INTO usuarios (usu_nome,usu_sobrenome,usu_sexo,usu_pais,usu_estado,usu_cidade,usu_email,usu_login,usu_senha) VALUES ('$nome','$sobrenome','$sexo','$pais','$cod_estados','$cidades','$email','$login','$senha_enc')";
$query = mysql_query($sql);
if($query > 1)
{
echo "<script>alert('Usuario cadastrado com sucesso.');</script>";
}
else
{
echo "<script>alert('Erro ao tentar cadastrar o usuário.');</script>";
}
}
}
}
?>
Login.php:
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['usu_login'])) {
$loginUsername=$_POST['usu_login'];
$password=sha1($_POST['usu_senha']);
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "Perfil/Perfil.php";
$MM_redirectLoginFailed = "Sistema_login/erro.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_loginsenha, $loginsenha);
$LoginRS__query=sprintf("SELECT usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
Boa sorte com o resto... ;)
Obrigado , FUNCIONOU!!!
:)
Faça a comparação utilizando o mesmo algoritmo de hash que você usou pra guardar no banco.
SELECT nome FROM usuario WHERE email = __EMAIL__ AND senha = MD5(__SENHA__)