Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

eminew

[Resolvido] Problema no Login MD5

Recommended Posts

eminew

Olá,

Sou um novato neste mundo do programação, estou a desenvolver um projecto e estou a ter problemas na encriptação de dados.

Desenvolvi um formulario de registo de utilizadores e outro para fazer login.

O formulario do registo insere os dados na BD com o campo password encriptado com md5, até aqui tudo bem, o problema é no login quando tento entrar não consigo.

Desenvolvi o projecto recorrendo as wizards do dreamweaver, ja fiz umas pesquisas na net e continua o problema :(

Será que alguem com paciencia poderá dar uma olhada no codigo? e tentar descobrir onde esta o erro?

:::Registo:::

<?php require_once('Connections/ligaBDUsers.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
 if (PHP_VERSION < 6) {
   $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 }

 $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

 switch ($theType) {
   case "text":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;    
   case "long":
   case "int":
     $theValue = ($theValue != "") ? intval($theValue) : "NULL";
     break;
   case "double":
     $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
     break;
   case "date":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;
   case "defined":
     $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
     break;
 }
 return $theValue;
}
}

// *** Redirect if username exists
$MM_flag="MM_insert";
if (isset($_POST[$MM_flag])) {
 $MM_dupKeyRedirect="registo.php";
 $loginUsername = $_POST['nim'];
 $LoginRS__query = sprintf("SELECT username FROM users WHERE username=%s", GetSQLValueString($loginUsername, "int"));
 mysql_select_db($database_ligaBDUsers, $ligaBDUsers);
 $LoginRS=mysql_query($LoginRS__query, $ligaBDUsers) or die(mysql_error());
 $loginFoundUser = mysql_num_rows($LoginRS);

 //if there is a row in the database, the username was found - can not add the requested username
 if($loginFoundUser){
   $MM_qsChar = "?";
   //append the username to the redirect page
   if (substr_count($MM_dupKeyRedirect,"?") >=1) $MM_qsChar = "&";
   $MM_dupKeyRedirect = $MM_dupKeyRedirect . $MM_qsChar ."requsername=".$loginUsername;
   header ("Location: $MM_dupKeyRedirect");
   exit;
 }
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
 $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form_registoUsers")) {
 $insertSQL = sprintf("INSERT INTO users (password, username, nome, posto, funcao, seccao, email, bd_scsi, bd_cartas, `data`) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                      GetSQLValueString(md5($_POST['password']), "text"),
                      GetSQLValueString($_POST['nim'], "int"),
                      GetSQLValueString($_POST['nome'], "text"),
                      GetSQLValueString($_POST['posto'], "text"),
                      GetSQLValueString($_POST['funcao'], "text"),
                      GetSQLValueString($_POST['seccao'], "text"),
                      GetSQLValueString($_POST['email'], "text"),
                      GetSQLValueString(isset($_POST['bd_scsi']) ? "true" : "", "defined","'Y'","'N'"),
                      GetSQLValueString(isset($_POST['bd_cartas']) ? "true" : "", "defined","'Y'","'N'"),
                      GetSQLValueString($_POST['data_registo'], "date"));

 mysql_select_db($database_ligaBDUsers, $ligaBDUsers);
 $Result1 = mysql_query($insertSQL, $ligaBDUsers) or die(mysql_error());

 $insertGoTo = "registocorrecto.php";
 if (isset($_SERVER['QUERY_STRING'])) {
   $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
   $insertGoTo .= $_SERVER['QUERY_STRING'];
 }
 header(sprintf("Location: %s", $insertGoTo));
}

mysql_select_db($database_ligaBDUsers, $ligaBDUsers);
$query_RsRegisto = "SELECT * FROM users";
$RsRegisto = mysql_query($query_RsRegisto, $ligaBDUsers) or die(mysql_error());
$row_RsRegisto = mysql_fetch_assoc($RsRegisto);
$totalRows_RsRegisto = mysql_num_rows($RsRegisto);
$query_RsRegisto = "SELECT * FROM users";
$RsRegisto = mysql_query($query_RsRegisto, $ligaBDUsers) or die(mysql_error());
$row_RsRegisto = mysql_fetch_assoc($RsRegisto);
$totalRows_RsRegisto = mysql_num_rows($RsRegisto);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22>
<html xmlns="http://www.w3.org/1999/xhtml%22>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registo de Utilizadores</title>
<link href="GestInformatica/config.css" rel="stylesheet" type="text/css" />
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<script src="SpryAssets/SpryValidationConfirm.js" type="text/javascript"></script>
<link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryValidationConfirm.css" rel="stylesheet" type="text/css" />
<link href="config.css" rel="stylesheet" type="text/css" />
<!-- Analytics -->
<script type="text/javascript">
 var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-31683991-1']);
 _gaq.push(['_setDomainName', 'portugal-a-programar.pt']);
 _gaq.push(['_trackPageview']);
 (function() {
   var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
   ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
</script>
<!-- /Analytics --></head>

<body background="img/fundo.jpg">
<table width="1024" border="0" align="center" bgcolor="f4f4f4" class="fundoTabela">
 <tr>
   <th class="tabela_cabecalho" scope="col"><table width="100%" border="0">
       <tr>
         <th width="19%" scope="col"> </th>
         <th width="62%" class="texto_cabecalho_titulo" scope="col">

         Registo de Utilizador</th>
         <th width="19%" scope="col"> </th>
       </tr>
     </table>
   <p> </p></th>
 </tr>
 <tr>
   <td><table width="100%" border="0">
     <tr>
       <th width="4%" scope="col"> </th>
       <th colspan="2" align="left" class="texto_mensagem" scope="col"> </th>
       </tr>
     <tr>
       <td> </td>
       <td width="77%" align="center" valign="top"><form id="form_registoUsers" name="form_registoUsers" method="POST" action="<?php echo $editFormAction; ?>">
         <table width="100%" border="0">
           <tr>
             <td width="16%" align="left" class="texto_Titulo_body" scope="col">User (Nim)*</td>
             <td width="84%" align="left" scope="col"><label for="user3"></label>
               <span id="spry_nim">
               <input name="nim" type="text" id="user3" size="8" maxlength="8" />
               <span class="textfieldRequiredMsg">Campo de prenchimento obrigatorio.</span></span><span class="texto_mensagem">
                <?php
if (isset ($_GET['requsername'])) {
echo "<p> O utilizador '".
$_GET['requsername'] . "' já existe na base de dados!</p>";
}
?>
               </span></td>
           </tr>
           <tr>
             <td align="left" class="texto_Titulo_body">Nome (Apelido)*</td>
             <td align="left"><span id="spry_nome">
               <input name="nome" type="text" id="nome" size="25" maxlength="20" />
               <span class="textfieldRequiredMsg">Campo de prenchimento obrigatorio.</span></span></td>
           </tr>
           <tr>
             <td align="left" class="texto_Titulo_body">Posto*</td>
             <td align="left"><label for="posto"></label>
               <select name="posto" id="posto">
<option value="escolha">- Escolha um Posto -</option>
<option value="At">AT</option>
<option value="Soldado">Soldado</option>
<option value="2Cabo">2ºCabo</option>
<option value="1Cabo">1ºCabo</option>
<option value="Cabo Adjunto">Cabo Adjunto</option>
<option value="2Furriel">2ºFurriel</option>
<option value="Furriel">Furriel</option>
<option value="2Sargento">2ºSargento</option>
<option value="1Sargento">1ºSargento</option>
<option value="SargentoAjudante">Sargento Ajudante</option>
<option value="SargentoChefe">Sargento Chefe</option>
<option value="SargentoMor">Sargento Mor</option>
<option value="Aspirante">Aspirante</option>
<option value="Alferes">Alferes</option>
<option value="Tenente">Tenente</option>
<option value="Capitao">Capitão</option>
<option value="Major">Major</option>
<option value="TenenteCoronel">Tenente Coronel</option>
<option value="Coronel">Coronel</option>
               </select></td>
           </tr>
           <tr>
             <td align="left" class="texto_Titulo_body">Password*</td>
             <td align="left"><span id="spry_password">
               <input name="pass" type="password" id="pass" size="25" maxlength="20" />
               <span class="textfieldRequiredMsg">Campo de prenchimento obrigatorio.</span></span></td>
           </tr>
           <tr>
             <td align="left" class="texto_Titulo_body">Repita Password*</td>
             <td align="left"><span id="spryconfirm1">
               <input name="pass2" type="password" id="pass2" size="25" maxlength="20" />
               <span class="confirmRequiredMsg">Campo de prenchimento obrigatorio.</span><span class="confirmInvalidMsg">As passwords não são iguais.</span></span></td>
           </tr>
           <tr>
             <td align="left" class="texto_Titulo_body">Função</td>
             <td align="left">
               <input name="funcao" type="text" id="funcao" size="40" maxlength="50" />
</td>
           </tr>
           <tr>
             <td align="left" class="texto_Titulo_body">Secção</td>
             <td align="left">
               <input name="seccao" type="text" id="seccao" size="30" maxlength="40" />
</td>
           </tr>
           <tr>
             <td align="left" class="texto_Titulo_body">Email Militar</td>
             <td align="left"><span id="spry_email">
             <input name="email" type="text" id="email" size="40" maxlength="50" />
<span class="textfieldInvalidFormatMsg">Formato de email inválido.</span></span></td>
           </tr>
           <tr>
             <td align="left" class="texto_Titulo_body">Base de dados*</td>
             <td align="left"><table width="100%" border="0">
               <tr>
                 <td width="6%" class="texto_Titulo_body" scope="col"><label for="ListaBasedados"></label>
                   <label for="ListaBaseDados"></label></td>
                 <th width="10%" scope="col"><span class="texto_Titulo_body">SCSI</span>
                   <input name="bd_scsi" type="checkbox" id="bd_scsi" />
                   <label for="bd_scsi"></label></th>
                 <th width="3%" scope="col"> </th>
                 <th width="81%" align="left" scope="col"><span class="texto_Titulo_body">CARTAS
                   </span>                    <input name="bd_cartas" type="checkbox" id="bd_cartas" /></th>
               </tr>
             </table>                <label for="user_bd"></label></td>
           </tr>
           <tr>
             <td class="texto_Titulo_body"> </td>
             <td><table width="50%" border="0">
               <tr>
                 <th scope="col"><input name="data_registo" type="hidden" id="data_registo" value="<?php echo date ("Y-m-d H:i:s"); ?>" /><input type="submit" name="registar" id="registar" value="Registar" /></th>
                 <th scope="col"><input type="reset" name="apagar" id="apagar" value="Limpar" /></th>
               </tr>
             </table></td>
           </tr>
           <tr>
             <td> </td>
             <td> </td>
           </tr>
           <tr>
             <td colspan="2" class="texto_Titulo_body">Os campos marcados com * são de prenchimento obrigatorio.</td>
             </tr>
         </table>
         <p>
           <input type="hidden" name="MM_insert" value="form_registoUsers" />
           <a href="javascript:window.history.go(-1)" class="SemLink">Voltar</a>        </p>
       </form></td>
       <td width="19%"> </td>
     </tr>
   </table></td>
 </tr>
 <tr>
   <td align="center" class="tabela_rodape"><p> </p>
     <table width="100%" border="0">
       <tr>
         <th scope="col"> </th>
         <th class="texto_cabecalho" scope="col">Aplicação informatica desenvolvida pela equipa SCSI da Escola Prática de Serviços.

           Copyright © 2012 
</th>
         <th scope="col"> </th>
       </tr>
     </table>
     <p class="texto_rodape">Optimizado para a resolução de ecrã  1024X768.</p></td>
 </tr>
</table>
<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("spry_nim");
var sprytextfield2 = new Spry.Widget.ValidationTextField("spry_nome");
var sprytextfield3 = new Spry.Widget.ValidationTextField("spry_password");
var spryconfirm1 = new Spry.Widget.ValidationConfirm("spryconfirm1", "pass");
var sprytextfield4 = new Spry.Widget.ValidationTextField("spry_funcao", "none", {isRequired:false});
var sprytextfield5 = new Spry.Widget.ValidationTextField("spry_seccao", "none", {isRequired:false});
var sprytextfield5 = new Spry.Widget.ValidationTextField("spry_email", "email", {isRequired:false});
</script>
</body>
</html>
<?php
mysql_free_result($RsRegisto);
?>

::::Login::::

<?php require_once('Connections/ligaBDUsers.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
 if (PHP_VERSION < 6) {
   $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 }

 $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

 switch ($theType) {
   case "text":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;    
   case "long":
   case "int":
     $theValue = ($theValue != "") ? intval($theValue) : "NULL";
     break;
   case "double":
     $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
     break;
   case "date":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;
   case "defined":
     $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
     break;
 }
 return $theValue;
}
}
?>
<?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['username'])) {
 $loginUsername=$_POST['username'];
 //$password = md5($_POST['password']);
 $password = $_POST['password'];
 $MM_fldUserAuthorization = "nivel";
 $MM_redirectLoginSuccess = "menu2.php";
 $MM_redirectLoginFailed = "login.php?erro=1";
 $MM_redirecttoReferrer = true;
 mysql_select_db($database_ligaBDUsers, $ligaBDUsers);

 $LoginRS__query=sprintf("SELECT username, password, nivel FROM users WHERE username=%s AND password=%s",
 GetSQLValueString($loginUsername, "int"), GetSQLValueString($password, "text"));

 $LoginRS = mysql_query($LoginRS__query, $ligaBDUsers) or die(mysql_error());
 $loginFoundUser = mysql_num_rows($LoginRS);
 if ($loginFoundUser) {

   $loginStrGroup  = mysql_result($LoginRS,0,'nivel');

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']) && true) {
     $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
   }
   header("Location: " . $MM_redirectLoginSuccess );
 }
 else {
   header("Location: ". $MM_redirectLoginFailed );
 }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22>
<html xmlns="http://www.w3.org/1999/xhtml%22>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login Bases Dados EPS</title>
<link href="config.css" rel="stylesheet" type="text/css" />
<!-- Analytics -->
<script type="text/javascript">
 var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-31683991-1']);
 _gaq.push(['_setDomainName', 'portugal-a-programar.pt']);
 _gaq.push(['_trackPageview']);
 (function() {
   var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
   ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
</script>
<!-- /Analytics --></head>

<body class="bodyImage">
<p> </p>
<table width="800" border="0" align="center">
 <tr>
   <th height="192" scope="col"> </th>
 </tr>
 <tr>
   <td><table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
     <tr>
       <form METHOD="POST" action="<?php echo $loginFormAction; ?>" name="login" id="login">
         <td><table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
           <tr align="center">
             <td colspan="3"><img src="img/login.jpg" width="400" height="84" /></td>
           </tr>
           <tr>
             <td colspan="3" align="center" class="texto_Titulo_body">

  <span class="texto_mensagem">
  <?php
if ((isset ($_GET['erro'])) && ($_GET['erro']==1)) {
echo "<p>Username ou Password Erradas.</p>";
}
?>
  </span></td>
             </tr>
           <tr>
             <td width="144" align="right" class="texto_Titulo_body">Username</td>
             <td width="3">:</td>
             <td width="239"><input name="username" id="username" maxlength="8" /></td>
           </tr>
           <tr>
             <td align="right" class="texto_Titulo_body">Password</td>
             <td>:</td>
             <td><input name="password" type="password" id="password" /></td>
           </tr>
           <tr>
             <td colspan="3" align="left">
             </td>
           </tr>
           <tr align="center">
             <td colspan="3"><table width="100%" border="0">
               <tr>
                 <th scope="col"><input type="submit" name="entrar" id="entrar" value="Entrar" /></th>
                 <th scope="col"><input type="reset" name="limpar" id="limpar" value="Limpar" /></th>
               </tr>
             </table></td>
           </tr>
           <tr align="center">
             <td colspan="3"> </td>
           </tr>
           <tr align="center">
             <td colspan="3" class="texto_Titulo_body">Ainda não esta registado? <span class="SemLink"><a href="registo.php">Clique Aqu</a></span><a href="registo.php">i</a>.</td>
           </tr>
           <tr align="center">
             <td colspan="3"> </td>
           </tr>
         </table></td>
       </form>
     </tr>
   </table></td>
 </tr>
 <tr>
   <td> </td>
 </tr>
</table>
</body>
</html>

Obrigado,

Edited by brunoais

Share this post


Link to post
Share on other sites
yoda

Não olhei para o código todo, e de futuro agradecemos que reduzas a quantidade de código ao essencial. Se estás a aprender, vais aprender mais depressa (e a sério) se começares do zero do que usando uma IDE como o Dreamweaver para criar código.

Aqui está pelo menos um dos erros :

//$password = md5($_POST['password']);

devia ser

$password = md5($_POST['password']);

Share this post


Link to post
Share on other sites
eminew

yoda,

Antes de mais obrigado pela breve resposta.

Esse erro é "propositado", enganei-me a comentar a linha.

Sendo eu um novato em programação nao tenho ainda conhecimentos para fazer o projecto ao nivel que pretendo "A unha", por isso tive que recorrer ao Dreamweaver.

Pedi ajuda porque de todas as pesquisas que fiz pareçe bater tudo certo, alias ate no forum oficial da adobe tem la o codigo e esta como o meu, apenas inserir o md5 no registo e no login, mas mesmo assim nada.

:(

Share this post


Link to post
Share on other sites
HappyHippyHippo

estás a começar, no entanto andas a sacar código que não percebes e colas tudo no teu dreamweaver a rezar que funcione? isso é uma estrada para dar bronca:

vê um exemplo simples e tenta perceber o que está a passar primeiro:

<?php
// login.php

// iniciar/retomar sessão
session_start();

$error_message = "";

// verificar envido de autenticação
if (isset($_POST['submit']))
{
 //DB info
 $db_host = "";
 $db_user = "";
 $db_pass = "";
 $db_name = "";

 // DB connect
 if (($conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name)) == null)
 {
   $error_message = "Erro de ligação à base de dados";
 }
 else
 {
   // parsing da informação a ser usada
   $username = isset($_POST['username'] ? mysqli_real_escape_string($_POST['username']) : "";
   $password = isset($_POST['password'] ? mysqli_real_escape_string($_POST['password']) : "";

   // query à base de dados
   $sql = "select username,
                  password,
                  nivel
             from users
            where username='$username'
              and password='$password'";
   if (($resultset = mysqli_query($conn, $sql)) == null)
   {
     $error_message = "Erro a efectuar o query na base de dados";
   }
   else
   {
     // verificar resultado
     if (mysqli_stmt_num_rows($resultset) == 0)
     {
       // libertar recursos
       mysqli_free_result($resultset);

       $error_message = "Erro de autenticação";
     }
     else
     {
       // libertar recursos
       mysqli_free_result($resultset);

       // guardar informação de sessão
       $_SESSION['user'] = $_POST['username'];

       // redirecionar
       header("Location: index.php")
     }
   }
 }
}
?>

<!DOCTYPE html>
<html>
 <head>
   <meta id="test" http-equiv="Content-Type" content="text/html; charset=utf-8" />
 </head>
 <body>
   <div><?php echo $error_message; ?></div>
   <form action="login.php" method="post">
     <input name="username" />
     <input name="password" type="password" />
     <input name="submit" type="submit" />
   </form>
 </body>
</html>


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
eminew

"estás a começar, no entanto andas a sacar código que não percebes e colas tudo no teu dreamweaver a rezar que funcione? isso é uma estrada para dar bronca"

HappyHippyHippo, isso é negativo. Ando a começar sim, mas como ja referi em cima, criei o código com as "server behavior" do dreamweaver, isto porque preciso de atribuir níveis diferentes de acesso aos utilizadores e funciona bem, apenas deparei-me com o problema de segurança que as passwords na base de dados estavam visíveis, pesquisei e encontrei a encriptação MD5 (não é a melhor opção para encriptar,segundo se consta, mas para o efeito serve), e quando atribuo no codigo a função MD5 na base de dados a password fica encriptada, mas depois no login não consigo entrar, é esse o meu problema.

Tenho mais uma questão se alguem me poder ajudar, quando insiro uma password, na BD a encriptação que me dá sao caracteres iguais mesmo para passwords diferentes, ex: Pass: teste encriptado :d41d8cd98f00b204e9800998ecf8427e e a pass: programar encriptado: d41d8cd98f00b204e9800998ecf8427e, ou seja exactamente igual, é normal isto acontecer?

Em vez do MD5 ja testei com SHA1 e Encrypt e da-me caracteres diferentes mas mesmo assim não consigo fazer o login, logo julgo que o meu principal problema não seja com o tipo de encriptação. :(

Share this post


Link to post
Share on other sites
sEnte

Não pode. experimenta novamente criar um novo user com essas passes.

Se o MD5 emcripta da mesma maneira passes diferentes é porque deve haver algum problema

Por não conseguires fazer login

Não será por estares a encriptar uma coisa já encriptada?

Edited by sEnte

"If It Ain't Broke, Break it and build something Cooler!" Unknown

Share this post


Link to post
Share on other sites
eminew

SEnte, acabei de testar e de facto o MD5 encripta da mesma maneira passwords diferentes, ja testei em duas versões diferentes de Mysql, o problema só pode estar no código certo?

Share this post


Link to post
Share on other sites
mjamado
Tenho mais uma questão se alguem me poder ajudar, quando insiro uma password, na BD a encriptação que me dá sao caracteres iguais mesmo para passwords diferentes, ex: Pass: teste encriptado :d41d8cd98f00b204e9800998ecf8427e e a pass: programar encriptado: d41d8cd98f00b204e9800998ecf8427e, ou seja exactamente igual, é normal isto acontecer?

É normal quando a string que passas ao MD5 é a mesma. No caso, é a mesma. Para referência futura, ficas a saber que essa hash corresponde a uma string vazia (""). Isto é, nada do que estás a fazer está a funcionar, incluindo por onde começaste ("O formulario do registo insere os dados na BD com o campo password encriptado com md5, até aqui tudo bem" - não, falso).

Traduzindo o que o HappyHippyHippo quis dizer: não uses o Dreamweaver enquanto estás a aprender. De todo.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Share this post


Link to post
Share on other sites
eminew

Em cima tinha dito que com SHA1 ou Encrypt me dava encriptação diferesntes mas é negativo, com MD5 SHA1 ou Encrypt, na BD da sempre os mesmos caracters (os mesmos para tipo de encriptação,os MD5 são diferentes de SHA1 por exemplo.)

Share this post


Link to post
Share on other sites
sEnte

SEnte, acabei de testar e de facto o MD5 encripta da mesma maneira passwords diferentes, ja testei em duas versões diferentes de Mysql, o problema só pode estar no código certo?

Pois porque duas pessoas não fazem a mesmissima coisa de maneira exactamente igual.

Eu estive a olhar para o teu código e parece-me confuso porque estou também a aprender a programar. O melhor seria fazer algo tipo o que o @HappyHippyHippo fez. Torna-se mais simples compreender e de mudar caso seja preciso

Em cima tinha dito que com SHA1 ou Encrypt me dava encriptação diferesntes mas é negativo, com MD5 SHA1 ou Encrypt, na BD da sempre os mesmos caracters (os mesmos para tipo de encriptação,os MD5 são diferentes de SHA1 por exemplo.)

Algo está errado porque não pode dar o mesmo sendo palavras diferentes

Edited by sEnte

"If It Ain't Broke, Break it and build something Cooler!" Unknown

Share this post


Link to post
Share on other sites
eminew

É normal quando a string que passas ao MD5 é a mesma. No caso, é a mesma. Para referência futura, ficas a saber que essa hash corresponde a uma string vazia (""). Isto é, nada do que estás a fazer está a funcionar, incluindo por onde começaste ("O formulario do registo insere os dados na BD com o campo password encriptado com md5, até aqui tudo bem" - não, falso).

Traduzindo o que o HappyHippyHippo quis dizer: não uses o Dreamweaver enquanto estás a aprender. De todo.

Ok ja percebi, e pela quantidade de codigo que o Dreamweaver produz ainda me baralha mais...

Share this post


Link to post
Share on other sites
eminew

Pessoal Obrigado a todos pelas ajudas,

O problema finalmente esta resolvido, mesmo a frente do nariz...xD

Na Bd o campo era pass no codigo era password....

Mas que estupidez a minha :(

Mais uma vez obrigado pelo vosso esforço

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.