Foros del Web » Programando para Internet » PHP »

Encriptar password

Estas en el tema de Encriptar password en el foro de PHP en Foros del Web. tengo un codigo html y otro php para lo que es la creacion de cuentas pero ninguno me apolla en cuanto a la seguridad de ...
  #1 (permalink)  
Antiguo 06/10/2009, 10:47
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Encriptar password

tengo un codigo html y otro php para lo que es la creacion de cuentas pero ninguno me apolla en cuanto a la seguridad de la contraseñas y queria solo encriptar eso:

Código HTML:
<form class="a4" name="form1" method="post" action="ca.php" id="form1">
	<p class="a4"><span>Nick Name:</span></p>
	<p class="a4">1. <input name="username" type="text" id="username" /></p>
	<p class="a4"><span>Password:</span></p>
	<p class="a4">2. <input name="password" type="password" id="password" /></p>
	<p class="a4"><span>Nombre:</span></p>
	<p class="a4">3. <input name="nombre" type="text" id="nombre" /></p>
	<p class="a4"><span>Apellido:</span></p>
	<p class="a4">4. <input name="apellido" type="text" id="apellido" /></p>
	<p class="a4"><span>Teléfono:</span></p>
	<p class="a4">5. <input name="telefono" type="text" id="telefono" /></p>
	<p class="a4"><span>Email:</span></p>
	<p class="a4">6. <input name="email" type="text" id="email" /></p>
	<p class="a4"><input type="submit" name="Submit" value="CREAR" /></p>
</form> 

Código PHP:
<?//Primero comprovamos datos que no esten vacion
if(isset($_POST['username']) && !empty($_POST['username']) &&
isset(
$_POST['password']) && !empty($_POST['password']) &&
isset(
$_POST['nombre']) && !empty($_POST['nombre']) &&
isset(
$_POST['apellido']) && !empty($_POST['apellido']) &&
isset (
$_POST['telefono']) && !empty($_POST['telefono']) &&
isset (
$_POST['email']) && !empty($_POST['email'])) {

//entrando a la base de datos
$link mysql_connect("127.0.0.1","root","xxxxxx");
mysql_select_db("ged",$link);

// con esta sentencia insertamos los datos en la base de datos XD
mysql_query("INSERT INTO user (username,password,nombre,apellido,telefono,email)
VALUES ('{$_POST['username']}','{$_POST['password']}','{$_POST['nombre']}','{$_POST['apellido']}','{$_POST['telefono']}','{$_POST['email']}')"
,$link);

// Ahora comprobaremos que todo ha ido correctamente
$my_error mysql_error($link);

if(!empty(
$my_error)) {

echo 
"Ha habido un error al insertar los valores. $my_error"

} else {

echo 
"Los datos han sido introducidos satisfactoriamente";
echo (
"Bienvenido no hay partida en estos momentos pero ");

}

} else {

echo 
"Error, no ha introducido todos los datos";

}

?>
entiendo que seria com md5 pero no se como XD
  #2 (permalink)  
Antiguo 06/10/2009, 10:51
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: Encriptar password

Q no sabes ?, no sabes usar la funcion ?, pues mira es algo sencillo, imagina q recogemos el valor de un formulario y lo encriptamos con md5

$contrasena_encriptada = md5( $_POST['valor_que_quiero_convertir'] );
  #3 (permalink)  
Antiguo 06/10/2009, 11:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Respuesta: Encriptar password

listo entonces eso va dentro del php si es asi todo esta bien reviso chekeo si no me ven es por que funciono XD gracias por hay pregunto mas cosas mas tarde XD
  #4 (permalink)  
Antiguo 06/10/2009, 12:26
 
Fecha de Ingreso: octubre-2009
Mensajes: 39
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Encriptar password

exacto asi como te lo dicen puedes usar md5 o otras funciones de encriptacion, yo te recomiendo esa, pero lo unico qe tienes qe hacer antes de hacer la consulta es

Código PHP:
$password=md5($_POST['password']; 
listo
  #5 (permalink)  
Antiguo 06/10/2009, 12:58
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años, 1 mes
Puntos: 16
Respuesta: Encriptar password

y para comprobar que los datos sean correcto despues

Código php:
Ver original
  1. if(md5($_POST['pss']) == $rowBD['pass']){
  2.         echo 'usuario logueado correctamente';
  3. }
  4. // donde $rowBD es la consulta a la base de datos
  5. // y $_POST['pss'] viene del formulario de login
  #6 (permalink)  
Antiguo 08/10/2009, 12:23
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación Respuesta: Encriptar password

ok estube provando y al revisar la base de datos no me muestra nada.
les dejo de informacion la estructura de las tablas creadas, el codigo php usado para pasar los datos y el html usado para capturar la pass:


estructura en la DB:

Código:
DROP TABLE IF EXISTS `user`;
CREATE TABLE IF NOT EXISTS `user` (
  `ID` int(8) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(25) CHARACTER SET latin1 DEFAULT NULL,
  `password` varchar(30) CHARACTER SET latin1 DEFAULT NULL,
  `nombre` varchar(30) CHARACTER SET latin1 DEFAULT NULL,
  `apellido` varchar(30) CHARACTER SET latin1 DEFAULT NULL,
  `telefono` varchar(30) CHARACTER SET latin1 DEFAULT NULL,
  `email` varchar(50) CHARACTER SET latin1 DEFAULT NULL,
  `GM` varchar(1) CHARACTER SET latin1 DEFAULT '0',
  PRIMARY KEY (`ID`),
  UNIQUE KEY `username` (`username`),
  UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci ROW_FORMAT=DYNAMIC AUTO_INCREMENT=10 ;
Capturacion en el html:

Código HTML:
<form class="a4" name="form1" method="post" action="ca.php" id="form1">
<p class="a4"><span>Nick Name:</span></p>
<p class="a4">1. <input name="username" type="text" id="username" /></p>
<p class="a4"><span>Password:</span></p>
<p class="a4">2. <input name="password" type="password" id="password" /></p>
<p class="a4"><span>Nombre:</span></p>
<p class="a4">3. <input name="nombre" type="text" id="nombre" /></p>
<p class="a4"><span>Apellido:</span></p>
<p class="a4">4. <input name="apellido" type="text" id="apellido" /></p>
<p class="a4"><span>Teléfono:</span></p>
<p class="a4">5. <input name="telefono" type="text" id="telefono" /></p>
<p class="a4"><span>Email:</span></p>
<p class="a4">6. <input name="email" type="text" id="email" /></p>
<p class="a4"><input type="submit" name="Submit" value="CREAR" /></p>
</form> 


PHP ca.php usado para guardar en la DB

Código PHP:
<?php
//Primero comprovamos datos que no esten vacion
if(isset($_POST['username']) && !empty($_POST['username']) &&
isset(
$_POST['password']) && !empty($_POST['password']) &&
isset(
$_POST['nombre']) && !empty($_POST['nombre']) &&
isset(
$_POST['apellido']) && !empty($_POST['apellido']) &&
isset (
$_POST['telefono']) && !empty($_POST['telefono']) &&
isset (
$_POST['email']) && !empty($_POST['email'])) {

//entrando a la base de datos
$link mysql_connect("127.0.0.1","root","beta");
mysql_select_db("ged",$link);

//pasamos la password a encriptacion:

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

// con esta sentencia insertamos los datos en la base de datos XD

mysql_query("INSERT INTO user (username,password,nombre,apellido,telefono,email)
VALUES ('{$_POST['username']}','{$_POST['encript']}','{$_POST['nombre']}','{$_POST['apellido']}','{$_POST['telefono']}','{$_POST['email']}')"
,$link);

// Ahora comprobaremos que todo ha ido correctamente
$my_error mysql_error($link);

if(!empty(
$my_error)) {

echo 
"Ha habido un error al insertar los valores. $my_error"

} else {

echo 
"Los datos han sido introducidos satisfactoriamente";
echo (
". Bienvenido no hay partida en estos momentos pero puedes entrar y solicitarlas.");

}

} else {

echo 
"Error, no ha introducido todos los datos";

}

?>
cuando reviso la base de dato no me muestra la password ni encriptada ni la original.

Última edición por arcanisgk1; 08/10/2009 a las 12:35
  #7 (permalink)  
Antiguo 08/10/2009, 12:56
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Respuesta: Encriptar password

no encuentro cual es el error.
  #8 (permalink)  
Antiguo 08/10/2009, 15:07
 
Fecha de Ingreso: octubre-2009
Mensajes: 6
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Encriptar password

Tienes el error en el mysql_query. Pon $encript en lugar de $_POST['encript'].
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:36.