Foros del Web » Programando para Internet » PHP »

[APORTE] Decriptador de md5

Estas en el tema de [APORTE] Decriptador de md5 en el foro de PHP en Foros del Web. Bueno es un decriptador de md5 que he creado en realidad no decripta, genera passwords aleatorios usando esto , luego los encripta y guarda el ...
  #1 (permalink)  
Antiguo 07/11/2010, 09:54
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
[APORTE] Decriptador de md5

Bueno es un decriptador de md5 que he creado en realidad no decripta, genera passwords aleatorios usando esto, luego los encripta y guarda el password y el md5 en una base de datos. Cada vez que se refresca la pagina, se genera un password nuevo, por lo que se vuelve a crear un registro. Son imposibles los registros dobles.

Asimismo, es posible introducir una palabra a codificar, que tambien es guardada.
Y, con los registros guardados, hay un decodificador. Podeis verlo en funcionamiento aquí:
http://enr1c.eshost.es/paginas/generador.php.

Y el código:
Código PHP:
<?php
echo 'Aqui tienes tu contraseña:<br>';
function 
f_genera_psw($num=8){ // By Kernellover 
    
$voc = array ("a","e","i","o","u"); 
    
$con = array ("b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","w","x","y","z"); 
    
$psw "";                // cadena que contendrá el password. 
    
$vc  mt_rand(0,1);    // definde si empieza por vocal o consonante. 
    
for ($n=0$n<$num$n++){ 
        if (
$vc==1){ 
            
$vc=0
            
$psw .= $con[mt_rand(0,count($con)-1)]; 
        } 
        
$psw .= $voc[mt_rand(0,count($voc)-1)]; 
        
$psw .= $con[mt_rand(0,count($con)-1)]; 
    } 
    
$psw ereg_replace ("q","qu",$psw); 
    
$psw ereg_replace ("quu","que",$psw); 
    
$psw ereg_replace ("yi","ya",$psw); 
    
$psw ereg_replace ("iy","ay",$psw); 
    
$psw substr($psw,0,$num); 
    return 
$psw
}  

$password f_genera_psw(rand(4,16));
$md5 md5($password);
$link mysql_connect('host','user','password');
mysql_select_db("dbname",$link);
$result mysql_query("SELECT * FROM md5 WHERE md5 ='$md5'",$link);
if(
mysql_num_rows($result)>0){
echo 
$password;
}else{
mysql_query("INSERT INTO md5 (palabra,md5) VALUES ('$password','$md5')",$link);
echo 
$password;
}
?>
<br><br><br>
Decripta md5:<br>
<form method="get" action="generador.php">
<input type="text" name="md5">
<input type="submit">
</form>
<?php
if(isset($_GET['md5'])) {
$md5 $_GET['md5'];
$link mysql_connect('host','user','password');
mysql_select_db("dbname",$link);
$result mysql_query("SELECT * FROM md5 WHERE md5 ='$md5'",$link);
if(
mysql_num_rows($result)>0){
$row=mysql_fetch_array($result);
$palabra str_replace('<','&lt;',$row['palabra']);
echo
'Tu palabra es:<br>'.$palabra.'<br>';
}else{
echo 
'No tenemos este código md5 en la base de datos, vuelve a intentarlo :-)<br>';}
}
?>
<br>Encripta en md5:<br>
<form method="get" action="generador.php">
<input type="text" name="new_md5">
<input type="submit">
</form>
<?php
if(isset($_GET['new_md5'])) {
$h $_GET['new_md5'];
$new_md5 md5($h);
$link mysql_connect('host','user','password');
mysql_select_db("dbname",$link);
$result mysql_query("SELECT * FROM md5 WHERE md5 ='$new_md5'",$link);
if(
mysql_num_rows($result)>0){
echo 
'Tu palabra en md5 es:<br>'.$new_md5.'<br>';
}else{
mysql_query("INSERT INTO md5 (palabra,md5) VALUES ('$h','$new_md5')",$link);
echo 
'Tu palabra en md5 es:<br>'.$new_md5.'<br>';
}
}
?>
Se aceptan sugerencias
  #2 (permalink)  
Antiguo 07/11/2010, 11:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: [APORTE] Decriptador de md5

Te recomiendo que no uses ereg_*, es obsoleto, sino los que comienzan con preg_*.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 07/11/2010, 12:54
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: [APORTE] Decriptador de md5

Pero pues ereg es para posix y preg es para perl
  #4 (permalink)  
Antiguo 07/11/2010, 13:22
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [APORTE] Decriptador de md5

Que quede claro que no he hecho esto para uso malintencionado. Además, he hecho algunos cálculos y:

Cita:
abcdefghijklmnopqrstuvwxyz1234567890 = 36 caracteres
md5 = 128 bits = 32 bytes

V36,32 = 15.499.721.949.579.217.394.499.977.006.284.800.000 .000
1.-Hay aprox 15,5 septillones de posibilidades de md5
2.-Un registro en MySQL con 2 datos (cadena y md5) ocupa 0,052148608 KB. Almacenar todas las posibilidades nos costaría:
1,5499*10^40*0,0521 = 807497900000000000000000000000000000000 KB

O lo que es lo mismo:

(((8,074979*10^38/1024)/1024)/1024) = 752041023224592208862304687500 TB
NI LA NASA, NI GOOGLE, tienen tal capacidad de almacenamiento
EDITO: y, ya inventándonos el HiperByte :

752041023224592208862304687500/1024 = 734415061742765828967094421,38671875 HB

Última edición por 3nr1c; 07/11/2010 a las 13:34
  #5 (permalink)  
Antiguo 07/11/2010, 13:57
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: [APORTE] Decriptador de md5

Cita:
Iniciado por hackjose Ver Mensaje
Pero pues ereg es para posix y preg es para perl
http://php.net/manual/es/function.ereg.php

Cita:
Warning

Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.

Cita:
Note:
Desde PHP 5.3.0, la extensión regex queda absoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso E_DEPRECATED. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.
Note:
preg_match(), la cual usa una sintaxis de expresiones regulares compatibles con Perl, es a menudo una alternativa más rápida que ereg().
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #6 (permalink)  
Antiguo 07/11/2010, 14:46
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: [APORTE] Decriptador de md5

Ok gracias no avia leido

Etiquetas: aportes
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 15:38.