20-07-2015, 06:04 PM
0
Sin duda uno de los sistemas mas seguros para codificar una contraseña es en MD5 y esto se debe a que no hay forma de decodificarla, por ello lamentablemente es muy difícil aprender como se usa en realidad, por ello les mostrare como se hace.
Creando los formularios:
Esto es lo mas simple de todo ya que debemos crear un formulario, lo podemos hacer manualmente o con este generador de formularios en html5. Clic Acá para acceder o puedes usar el siguiente código:
Código PHP:
<!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>Sistema de Registro en MD5</title>
<style type="text/css">
.form{
max-width: 100%;
min-width: 25%;
border-width: 2px;
border-color: #CCCCCC;
border-radius: 4px;
border-style: solid;
color: #222222;
font-size: 14px;
margin: 0px;
background-color: #FFFFFF;
padding: 20px;
}
.content{
margin: 0px;
}
.form label{
color: #222222;
font-size: 14px;
display: block;
}
.form input[type=radio], input[type=checkbox]{
margin: 10px;
width: 13px;
}
.form div{
display: block;
}
.form input, form textarea, form select{
border-width: 1px;
border-style: solid;
border-color: #666666;
border-radius: 0px;
padding: 3px;
width: 100%;
}
.form h1{
font-size: 40px;
color: #607A75;
padding: 0px;
margin: 0px;
margin-bottom: 10px;
border-bottom-style: dotted;
border-bottom-color: #CCCCCC;
border-bottom-width: 2px;
border-radius: 0px;
background-color: #FFFFFF;
}
.intro{
margin-bottom: 10px;
}
.clear{
clear: both;
}
.form textarea{
height: 50px;
width: 100%;
}
.form input[type=submit]{
width: 100%;
background-color: #CCCCCC;
color: #222222;
}
.field{
margin-bottom: 5px;
}
</style>
</head>
<body>
<form id="form" class="form" name="form" action="/registro.php" method="post" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8">
<h1>Registro</h1>
<div class="content">
<div class="intro"></div>
<div id="section0" >
<div class="field"><label for="Usuario">Usuario</label><input type="text" id="Usuario" name="Usuario" required></div>
<div class="field"><label for="Clave">Clave</label><input type="password" id="Clave" name="Clave" required></div>
<div class="field"><input type="submit" id="Enviar" name="Enviar"></div>
</div>
</div>
</form>
<hr />
<form id="form" class="form" name="form" action="/entrar.php" method="post" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8">
<h1>Ingresar</h1>
<div class="content">
<div class="intro"></div>
<div id="section0" >
<div class="field"><label for="Usuario">Usuario</label><input type="text" id="Usuario" name="Usuario" required></div>
<div class="field"><label for="Clave">Clave</label><input type="password" id="Clave" name="Clave" required></div>
<div class="field"><input type="submit" id="Enviar" name="Enviar"></div>
</div>
</div>
</form>
</body>
</html>
Como verán en el código anterior tenemos dos formularios, uno para registrarnos y el otro para ingresar, a su ves estos formularios envían sus daros a los archivos registro.php y entrar.php.
Creando el Archivo de Registro:
El archivo registro.php cumplirá las siguientes funciones:
Comprobar si el usuario ya existe y si es así prohibir el registro
si el usuario no existe crear en archivo .txt
Codificar la clave ingresada y escribirla en el archivo .txt
Código:
Código PHP:
<?php
$usuario = $_POST['Usuario'];
$clave = $_POST['Clave'];
$usuarioreg = 'user'.$usuario.'.txt';
if (file_exists($usuarioreg)) {
echo 'El Usuario ingresado ya esta registrado';
} else {
$md5cod = md5($clave);
$registro = fopen($usuarioreg,'w');
fwrite($registro,$md5cod);
fclose($registro);
echo 'El Usuario se '.$usuario.' registro correctamente';
}
?>
Creando el archivo de entrada:
El archivo entrar.php cumplirá las siguientes funciones:
Comprobar si el usuario existe y si no es así comunicarles que no existe.
Si el usuario existe abrir el archivo .txt de ese usuario
Codificar la contraseña ingresada en el formulario y compararla con la que esta en el .txt
si la contraseña es correcta mostrar un mensaje de entrada exitosa
si la contraseña es errónea mostrar un mensaje de error.
Código:
Código PHP:
<?php
$usuario = $_POST['Usuario'];
$clave = $_POST['Clave'];
$usuarioreg = 'user'.$usuario.'.txt';
if (file_exists($usuarioreg)) {
$md5cod = md5($clave);
$cargaruser = fopen($usuarioreg, "r");
$clavecod = fread($cargaruser, filesize($usuarioreg));
if (md5($clave) === $clavecod) {
echo 'La Contraseña es correcta';
} else {
echo 'La Contraseña es incorrecta';
}
fclose($cargaruser);
} else {
echo 'El Usuario ingresado no existe';
}
?>