Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

eminew

[Resolvido] Problema no Login MD5

Mensagens Recomendadas

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,

Editado por brunoais

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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']);

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

:(

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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. :(

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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?

Editado por sEnte

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Editado por sEnte

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.