Foros del Web » Programando para Internet » PHP »

funcion md5()

Estas en el tema de funcion md5() en el foro de PHP en Foros del Web. hola a todos... aki denuevo molestando xD necesito encriptar mi contraseña pero no se como hacerlo me dijero que utilizara esta funcion pero no se ...
  #1 (permalink)  
Antiguo 01/06/2010, 12:25
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
funcion md5()

hola a todos...
aki denuevo molestando xD necesito encriptar mi contraseña pero no se como hacerlo me dijero que utilizara esta funcion pero no se donde colocarla ni como usarla me podrian ayudar...

tomando en cuenta que la base de datos se le ingresa la contraseña manualmente

luego el se logea con la contraseña y la password entregada

esta es la funcion que tengo puesta pero no c si esta bien donde la tengo esta pocisionada en la pagina que recepciona al usuario y a la contraseña

Código HTML:
Ver original
  1. <script language="javascript" type="text/javascript">
  2. function md5(){
  3. $pass = md5 ($pass);
  4. echo $pass;
  5. }
  #2 (permalink)  
Antiguo 01/06/2010, 12:40
 
Fecha de Ingreso: abril-2010
Mensajes: 34
Antigüedad: 14 años
Puntos: 1
Respuesta: funcion md5()

Hola... te comento esa funcion que te pasaron de md5 es una funcion que es en PHP y tu la estas metiendo en un javascript... si estas programando en php estaria bien que la pusieras dentro de tu código PHP...
  #3 (permalink)  
Antiguo 01/06/2010, 13:00
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: funcion md5()

$_POST['password'];

echo "antes de la encriptacion = ".$_POST['password'];
$pass_encriptado = md5($_POST['password']);
echo "despues de la encriptacion = ".$pass_encriptado;

en tu base de datos debes guardar el password encriptado, luego, para desencriptarlo le pasas otra vez la funcion md5 y tienes la original (para comparar con el pass introducido desde un formulario)

ea, di si te funciona o no
  #4 (permalink)  
Antiguo 01/06/2010, 13:15
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: funcion md5()

Sabiendo que md5 es una función nativa de php, puedes buscarla en su sitio web, donde encontrarás información acerca de esta : www.php.net/md5
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #5 (permalink)  
Antiguo 02/06/2010, 11:23
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: funcion md5()

Cita:
Iniciado por Dunnow Ver Mensaje
$_POST['password'];

echo "antes de la encriptacion = ".$_POST['password'];
$pass_encriptado = md5($_POST['password']);
echo "despues de la encriptacion = ".$pass_encriptado;

en tu base de datos debes guardar el password encriptado, luego, para desencriptarlo le pasas otra vez la funcion md5 y tienes la original (para comparar con el pass introducido desde un formulario)

ea, di si te funciona o no
me salto una duda con respecto a esto mira ese corrida de numeros y letras que me entrega la tengo q almacenar en la base de datos pero cuando yo escriba mi contraseña cual es la que tengo q colocar???? la q me dio la funcion o la q me entrego el administrador de contraseñas....???
  #6 (permalink)  
Antiguo 02/06/2010, 13:11
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: funcion md5()

La que tienes que escribir es la que te dio el administrador de contraseñas. Luego esta será codificada, para luego ser comparada con la que tienes en la BD.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #7 (permalink)  
Antiguo 02/06/2010, 13:56
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: funcion md5()

mmm la verda es que no entendi muxo la verdad es que eso ya tengo la pass la rescato pero luego no entendi
  #8 (permalink)  
Antiguo 02/06/2010, 17:05
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: funcion md5()

MD5 nacio para poner una firma digital a los software... asi uno chequeaba que el archivo que se descarga es el mismo del fabricante... si alguien le toca al menos un bit ya el MD5 cambia drasticamente... esto es llamado checksum.

Luego a alguien se le ocurrio encriptar claves con MD5, aunque el MD5 no es para esto y de ahi la inseguridad que conlleva (aunque es mejor que la contraseña pelada).

Que hace? Convierte cualquier texto de cualquier longitud a una cadena de 33 caracteres inentendible.

Para que se usa? Por si alguien (ya sea un hacker o un empleado del hosting) accede a la base de datos, que no entienda la contraseña.

Cual es la logica que no entendes?
vos tecleas una clave => el php la convierte a MD5 => el PHP compara tu clave en MD5 con la que esta en la base de datos...

Si vos tecleas tu clave en MD5 en el campo de contraseña, el PHP le aplica MD5 a ese MD5 y ya te da otra cosa, por eso por mas que alguien sepa tu clave en MD5 no le sirve de nada... o no le servia, hoy en dia con la ingenieria inversa y el uso de "raimbow tables" se puede hackear facilmente un MD5 corto y basico... como "admin", pero si usas "AdmiN54321@" es casi imposible romperlo con las pc actuales...

Lo que yo recomiendo es encriptar antes de enviarlo con JS, no usar la funcion nativa de PHP... Porque si te hacen sniffing la clave queda en el filtro sin encriptar antes de salir a la red.

Espero haberte aclarado y no haberte enliado.
__________________
Si aún lo llevas, dejalo...
Programador PHP argentina
  #9 (permalink)  
Antiguo 03/06/2010, 07:32
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: funcion md5()

Cita:
Iniciado por spider_boy Ver Mensaje
La que tienes que escribir es la que te dio el administrador de contraseñas. Luego esta será codificada, para luego ser comparada con la que tienes en la BD.

... mira me funcion pero hasta la mitad nada mas ya q no me rescata la pass no se por q miren este es el codigo que le puse en la pagina de recepcion

Código PHP:
Ver original
  1. <?
  2. $_POST['pass'];
  3. echo "antes de la encriptacion = ".$_POST['pass'];
  4. $pass_encriptado = md5($_POST['pass']);
  5. echo '<p></p>';
  6. echo "despues de la encriptacion = ".$pass_encriptado;
  7. ?>
  #10 (permalink)  
Antiguo 03/06/2010, 09:41
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: funcion md5()

Ese coigo esta bien, pass encriptada deberia ser una cadena de 33 caracteres identica a la que tenes en la base de datos... chequeaste eso?
__________________
Si aún lo llevas, dejalo...
Programador PHP argentina
  #11 (permalink)  
Antiguo 03/06/2010, 09:42
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: funcion md5()

Primero, para evitar cualquier problema al respecto, inicia todos tus php's con <?php, ya que si estás probando en un server de pago o gratuito, podrían tener desactivado los short tags.

Segundo, ¿estás seguro que el campo en tu formulario se llama pass? Hazle un var_dump() a la variable $_POST['pass'] para ver que tiene dentro.

También, asegúrate de no ingresar directamente a ese código, ya que en ese caso no existiría $_POST['pass'].
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #12 (permalink)  
Antiguo 04/06/2010, 06:23
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: funcion md5()

Cita:
Iniciado por spider_boy Ver Mensaje
Primero, para evitar cualquier problema al respecto, inicia todos tus php's con <?php, ya que si estás probando en un server de pago o gratuito, podrían tener desactivado los short tags.

Segundo, ¿estás seguro que el campo en tu formulario se llama pass? Hazle un var_dump() a la variable $_POST['pass'] para ver que tiene dentro.

También, asegúrate de no ingresar directamente a ese código, ya que en ese caso no existiría $_POST['pass'].
la variable esta vacia no recepciona la pass y si este es el nombre del campo de la contraseña = 'pass'

puede ser por q en la pag anterior donde envio la contraseña tengo el siguiente codigo

Código PHP:
Ver original
  1. <?php require_once('../Connections/fich.php'); ?>
  2. <?php
  3. // *** Validate request to login to this site.
  4. if (!isset($_SESSION)) {
  5. }
  6.  
  7. $loginFormAction = $_SERVER['PHP_SELF'];
  8. if (isset($_GET['accesscheck'])) {
  9.   $_SESSION['PrevUrl'] = $_GET['accesscheck'];
  10. }
  11.  
  12. if (isset($_POST['user'])) {
  13.   $loginUsername=$_POST['user'];
  14.   $password=$_POST['pass'];
  15.   $MM_fldUserAuthorization = "NIVEL";
  16.   $MM_redirectLoginSuccess = "buscar.php";
  17.   $MM_redirectLoginFailed = "ing.php?error=Usuario o Password mal ingresados";
  18.   $MM_redirecttoReferrer = false;
  19.   mysql_select_db($database_fich, $fich);
  20.   $LoginRS__query=sprintf("SELECT USER, PASSWORD, NIVEL FROM administracion WHERE USER='%s' AND PASSWORD='%s'",
  21.   get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));  
  22.   $LoginRS = mysql_query($LoginRS__query, $fich) or die(mysql_error());
  23.   $loginFoundUser = mysql_num_rows($LoginRS);
  24.   if ($loginFoundUser) {
  25.     $loginStrGroup  = mysql_result($LoginRS,0,'NIVEL');
  26.    
  27.     //declare two session variables and assign them
  28.     $_SESSION['MM_Username'] = $loginUsername;
  29.     $_SESSION['MM_UserGroup'] = $loginStrGroup;      
  30.  
  31.     if (isset($_SESSION['PrevUrl']) && false) {
  32.       $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
  33.     }
  34.     header("Location: " . $MM_redirectLoginSuccess );
  35.   }
  36.   else {
  37.     header("Location: ". $MM_redirectLoginFailed );
  38.     $error='Usuario o Password mal ingresados';
  39.   }
  40. }
  41. ?>
  #13 (permalink)  
Antiguo 04/06/2010, 06:32
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: funcion md5()

1)el campo pass esta dentro del tag form?
2)no tenes otro input llamado form mas adelante? Alguno tipo hidden que quede vacio?
3)Estas enviando los datos con metodo POST o GET?

Tenes el codigo del formulario? El problema parece venir de HTML
__________________
Si aún lo llevas, dejalo...
Programador PHP argentina
  #14 (permalink)  
Antiguo 04/06/2010, 07:21
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: funcion md5()

Cita:
Iniciado por Sommy Ver Mensaje
1)el campo pass esta dentro del tag form?
2)no tenes otro input llamado form mas adelante? Alguno tipo hidden que quede vacio?
3)Estas enviando los datos con metodo POST o GET?

Tenes el codigo del formulario? El problema parece venir de HTML
este es el codigo del formulario!!!!


Código HTML:
Ver original
  1. <span class="botones"></span><span class="imputbox"></span>
  2. <br>
  3. <br><br>
  4. <table width="250" border="1" cellspacing="0" cellpadding="0" align="center" bordercolor="#0099FF">
  5.   <tr>
  6.     <td>
  7.       <table width=100% border=0 align="center" cellpadding="0" cellspacing="0" bordercolor="#009999" bgcolor="#FFFFFF">
  8.         <form action="<?php echo $loginFormAction; ?>" method="POST" >
  9.           <tr bgcolor="#0099FF">
  10.             <td height="45" bgcolor="#052F56">
  11.               <div align="center"><font face="Arial" color="#FFFFFF" size=2><b>Identificaci&oacute;n
  12.                 Usuarios<br>
  13.               </b></font></div>            </td>
  14.           </tr>
  15.           <tr>
  16.             <td>
  17.               <div align="center">
  18.                 <table width="100%" border="0" cellspacing="0" cellpadding="5">
  19.                   <tr valign="middle">
  20.                     <td colspan="2" height="30">
  21.                       <div align="center">                    </div>                    </td>
  22.                   </tr>
  23.                   <tr>
  24.                     <td width="39%">
  25.                       <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span class="Estilo3">Usuario</span>                        : </font></div>                    </td>
  26.                     <td width="61%">
  27.                       <div align="left">
  28.             <input name="user" type="text" class="imputbox" size="15">
  29.                       </div>                    </td>
  30.                   </tr>
  31.                   <tr>
  32.                     <td width="39%"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><span class="Estilo3">Password</span>                        : </font></div></td>
  33.                     <td width="61%">
  34.                       <div align="left">
  35.                         <input name="pass" type="password" class="imputbox" size="15">
  36.                       </div>                    </td>
  37.                   </tr>
  38.                 </table>
  39.               </div>            </td>
  40.           </tr>
  41.           <tr valign="middle">
  42.             <td height="50">
  43.               <div align="center"><font face="Arial" color=black size=2>
  44.                 <input name=submit type=submit value="  Entrar  " class="botones" >
  45.                 </font></div>            </td>
  46.           </tr>
  47.         </form>
  48.       </table>
  49.     </td>
  50.   </tr>
  51. <table width="385" border="0" align="center" cellpadding="0" cellspacing="0">
  52.   <tr>
  53.     <td width="385" nowrap class="Estilo4" scope="row"><div align="center"><span class="Estilo4"><?php echo $_GET['error']; ?></span></div></td>
  54.   </tr>
  55.   <tr><td><div></div></td></tr>
  56.   <tr><td><div></div></td></tr>
  57.   <tr><td><div align="center" class="Estilo5"><a href="formato/Ficha_Validacion_Datos.pdf" target="_blank" class="Estilo4">Manual de Uso Ficha Validaci&oacute;n de Datos</a></div>
  58.   </td>
  59.   </tr>
  60. <p align="center">&nbsp;</p>
  61. </body>
  62. </html>
  #15 (permalink)  
Antiguo 04/06/2010, 08:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: funcion md5()

a ver no es TAN dificil...

un usuario entra a tu pagina y se registra con un formulario, este tiene user y pass

recives el user y le pasas la funcion add_slashes (o era parecida, buscala en la documentacin de PHP) para que no tenga codigo no deseado.

recibes el pass y le pasas la funcion md5

guardas el user y el pass a la DB

ahora en la DB tienes el nombre de usuario y una cadena rarisima de numeros y letras como password (el password debe CABER ENTERO en el campo de la base de datos)

ahora viene el usuario e intenta hacer login

te pone el nombre de usuario y el pass y de la a "hacer login"

tu recibes el user, y le pasas de nuevo la funcion add_slashes para que sea el mismo resultado que el que tienes guardado en la DB

tambien recibes el password, por lo que le pasas otra vez la funcion md5 y volverá a darte la misma cadena rara que tienes guardada en la base de datos (suponiendo que el password este bien escrito)

una vez tienes el user y el pass "normalizados y codificados" por asi decirlo, haces una select en tu base de datos

SELECT usuario, password FROM tabla_usuarios WHERE user='$user' AND password='$pass';

cual es el problema?
  #16 (permalink)  
Antiguo 04/06/2010, 08:12
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: funcion md5()

el problema es que cuando en la pagina de recepcion no me almacena el pass entonces no medeja encriptar me envia el dato pero como vacio

Etiquetas: funcion
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 18:24.