Caminho de Navegação Php / Artigos / Criptografando senhas em MD5, Salvando no MySQL e Depois consultar a mesma

Php

 

Nenhuma avalição
Indique ao Ueba Indique ao BlogBlogs Indique ao Delicious Indique ao Technorati Indique ao Google Bookmarks Indique ao Newsgator
TAGS

Nenhuma tag foi definida ainda!

Defina as tags para esta página preenchendo o campo abaixo.

  • Máximo de 100 tags
  • Cada tag deve ter até 20 caracteres.
  • Separar as tags com virgula. Ex.: php, sql, html, xml, fireworks
COMENTAR

INDICAR
Nome do amigo: E-mail do amigo: Comentário:
REPORTAR ERRO Descreva o erro:

Criptografando senhas em MD5, Salvando no MySQL e Depois consultar a mesmaPostada em: 17/05/2007

Marcel de Siqueira
Por: Marcel de Siqueira Nº de Visualizações: 603.

Lista de páginas desta publicação:




Olá, esse é meu primeiro artigo aqui no Script Fácil, e espero poder postar muitos outros conforme eu for tendo mais tempo disponivel.

Primeiramente a história

Pra quem não conhece o MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321, e muito utilizado por softwares com protocolo ponto-a-ponto (P2P, ou Peer-to-Peer, em inglês), verificação de integridade e logins.

Foi desenvolvido em 1991 por Ronald Rivest para suceder ao MD4 que tinha alguns problemas de segurança. Por ser um algoritmo unidirecional, uma hash md5 não pode ser transformada novamente no texto que lhe deu origem. O método de verificação é, então, feito pela comparação das duas hash (uma da base de dados, e a outra da tentativa de login). O MD5 tambem é usado pera verificar a integridade de um ficheiro através, por exemplo, do programa md5sum, que cria a hash de um ficheiro. Isto pode-se tornar muito útil para downloads de ficheiros grandes, para programas P2P que constroem o ficheiro através de pedaços e estão sujeitos à corrupção dos mesmos. Como autenticação de login é utilizada em vários sistemas operacionais unix e em muitos sites com autentificação.

Agora mãos a obra

vamos criar a tabela dentro do MSQL


DROP TABLE IF EXISTS `cadastro`;
CREATE TABLE `cadastro` (
  `id_senha` int(3) NOT NULL auto_increment,
  `user` varchar(50) NOT NULL default '',
  `pass` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id_senha`)
);
 


Agora vamos criar o aquivo responsável pela conexão com o Banco de Dado "conecta.php"


<?php
$host     = "localhost"; // Servidor MySQL
$dbname   = "clientes"// Base de Dados
$usuario  = "root";      // Nome de usuário da base de dados
$password = "";          // Senha da base de dados

// Não mexa abaixo, pois abaixo é a conexão

if(!($id  = mysql_connect("localhost",$usuario,$password))) {
echo "<p align="center"><big><strong>Não foi possível estabelecer
uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.
</strong></big></p>"
;
exit;
}
if(!($con=mysql_select_db($dbname,$id))) {
echo " <p align="center"><big><strong>Não foi possível estabelecer
uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.
</strong></big></p>"
;
exit;
}
?>
 


Agora a página de cadastro em html "cadastro.html"

<!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=iso-8859-1" />
<title>Cadastro</title>
<style type="text/css">
<!--
.Estilo1 {font-size: 36px}
-->
</style>
</head>
<body>
<div align="center" class="Estilo1">
  <p><b>Cadastro de Usu&aacute;rios</b></p>
</div>
<form id="form1" name="cadastro" method="post" action="cripto.php">
  <div align="center">
    <p><br />
      Nome:
      <input name="nome" type="text" id="nome" />
      <br />
      <br />
      Senha:
      <input name="senha" type="text" id="senha" />
    </p>
    <p>
      <input type="submit" name="Submit" value="Cadastrar" />
</p>
  </div>
</form>
<p>&nbsp;</p>
</body>
</html>
 


Agora vamos criar o arquivo responsável por criptografar a senha e cadastrar no MySQL "cripto.php"

<?php
include "conecta.php"; // chama o arquivo que conecta ao MySQL
$nome  = $_POST['nome']; // Recebe a veriavel nome do metodo POST
$pass  = md5($_POST['senha']); // // Recebe a veriavel senha do metodo POST e encripta ela
$sql = mysql_query("INSERT INTO cadastro(id_senha, user, pass) VALUES('NULL', '$nome','$pass')")
or die("ERRO no comando SQL : ".mysql_error()); //insere os dados na MySQL
echo "Usuário cadastrado"; // Exibe a mensagem Usuário cadastrado
?>


Vamos criar agora o arquivo responsavel por buscar e verificar se o usuário é cadastrado "psq.php"


<?php
include("conecta.php");
$nome = $_POST['nome'];
$pass = md5($_POST['senha']);
$sql = mysql_query("SELECT pass FROM cadastro WHERE pass='$pass' AND user='$nome'");
if(mysql_num_rows($sql) > 0)
echo "Usuário Cadastrado e a Senha está correta<br><br>Nome: " .$nome."
<br>Senha: "
.$pass. "";
else
echo "Usuário não localizado ou senha incorreta";
?>

 


E por final a página que verfica se o nome e a senha estão corretos "busca.html"


<!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=iso-8859-1" />
<title>Busca</title>
<style type="text/css">
<!--
.Estilo1 {font-size: 36px}
-->
</style>
</head>
<body>
<div align="center" class="Estilo1">
  <p><b>Busca usu&aacute;rio </b></p>
</div>
<form id="form1" name="cadastro" method="post" action="psq.php">
  <div align="center">
    <p><br />
      Nome:
      <input name="nome" type="text" id="nome" />
      <br />
      <br />
      Senha:
      <input name="senha" type="text" id="senha" />
    </p>
    <p>
      <input type="submit" name="Submit" value="Buscar" />
</p>
  </div>
</form>
<p>&nbsp;</p>
</body>
</html>
 


Na próxima página eu vou explicar melhor o funcionamento de Cada Arquivo