Autor
|
Tema: Hacer un 100 millones de Insert sin que se me pare. (Leído 5,724 veces)
|
dimitrix
|
Buenas, estoy haciendo unas pruebas para un artículo que estoy haciendo de colisión hash en MD5 y SHA1. Y estaba haciendo una prueba para hacer y guardar en una base de datos para guardar los 100 primeros millones y: <?php $db_host="localhost"; $db_name="colision"; $db_user="colisionn"; $db_user_pass="blablabla"; if (!$con) { } $contador=1; while($contador!=9999999){ VALUES ('$contador', '$md5', '$sha1')"); $contador++; }; ?>
Y el PHP se me para cuando lleva poco más de 1 millón. Supongo que es por que tendrá un tiempo máximo para devolver una respuesta al usuario que espera en el navegadorn, pero no se me ocurre nada. ¿Alguna idea?
|
|
|
En línea
|
|
|
|
bomba1990
|
max time executon. hay una configuracion del php.ini que establece un tiempo maximo de ejecucion. puedes modificarlo y multiplicarlo por 10, aver si haci termina la ejecucion, yo tambien hice un script hace un tiempo que cuando llegaba al tiempo maximo de ejecucion se paraba y espera que el usuario le de click y redireccione a la misma pagina para seguir donde la dejo.
|
|
|
En línea
|
|
|
|
Shell Root
|
Quizás pueda mejorar si realizar el Cifrado de los datos desde el motor de base de datos, es decir: for( $i=0; $i<=9999999; $i++ ){ $sSQL = "INSERT INTO NUM1 (NUM, MD5, SHA1) VALUES ('".$i."', 'MD5(".$i.")', 'SHA1(".$i.")');"; }
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
Castg!
Wiki
Desconectado
Mensajes: 1.191
|
Insertarla 100 millones de veces sin que se te pare? Entonces vos necesitas VIAGRA. set_time_limit();
|
|
|
En línea
|
|
|
|
RedZer
Desconectado
Mensajes: 666
|
Insertarla 100 millones de veces sin que se te pare? Entonces vos necesitas VIAGRA.
jajajajajajaja o M- force
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
Stoya
Desconectado
Mensajes: 112
Esperando respuestas
|
Quizás pueda mejorar si realizar el Cifrado de los datos desde el motor de base de datos, es decir: for( $i=0; $i<=9999999; $i++ ){ $sSQL = "INSERT INTO NUM1 (NUM, MD5, SHA1) VALUES ('".$i."', 'MD5(".$i.")', 'SHA1(".$i.")');"; }
¿No se puede hacer esto en php? for( $i=0; $i<=9999999; $i++ ){ $sSQL = "INSERT INTO NUM1 (NUM, MD5, SHA1) VALUES ('$i', 'MD5($i)', 'SHA1($i)');"; }
Si hasta un millón llega, considerando que es probable que uses un lenguaje tan defectuoso como php porque lo estés ejecutando en un hosting, que en el hosting no tengas permiso para hacer lo de set_time_limit(); (usará modo seguro) ni para cambiar php.ini, que estará fuera de tu jaula, lo que puedes hacer es hacerlo de varias veces. Lo único que tienes que hacer es cambiar: $contador=1;
por
|
|
|
En línea
|
|
|
|
WHK
|
Quizás pueda mejorar si realizar el Cifrado de los datos desde el motor de base de datos, es decir: for( $i=0; $i<=9999999; $i++ ){ $sSQL = "INSERT INTO NUM1 (NUM, MD5, SHA1) VALUES ('".$i."', 'MD5(".$i.")', 'SHA1(".$i.")');"; }
mysql no soporta concaenaciones para multiples inserts con ";", eso se utiliza en phpmyadmin porque phpmyadmin separa las querys y las hace múltiples ejecutando una por una, pero en la práctica eso no existe, solo lo puede hacer mssql (vivan las inyecciones multiples). intenta hacer lo que te dicen con set_time_limit(); y si quieres dejarlo en background ejecutalo desde php directamente con system() y lo pasas por >dev/null&
|
|
|
En línea
|
|
|
|
programatrix
|
Función sleep, deja descansar la maquinaria unos segundo y sigue al rato: Sleep(5); Por ejemplo, y si no por pasos, si tienes 1000000000 numeros a hacer md5 pues divides ese número de dos, hasta que te quede un número más normal digamos 5000, luego cojes y sumas todas las divisiones que has hecho de ese número, guardas en un fichero el número de pasos a seguir, entonces, empiezas, tufichero.php?paso=0 te muestra una web donde poniendo en la cabecera una redirección te redirecciones en 5 segundos por ejemplo a tufichero.php?paso=1 Así tu ordeador desde el navegador va llamando automáicamente a crear nuevos hash md5, tu servidor no se satura y va poco a poco, si, vas a tardar más tiempo, pero no se saturará el servidor... Pero al igual que lo haces con números puedes coger un fichero diccionario y crearte un programa en php que valla abriendole poniendo el hash md5 en otro fichero y luego para crackear un password en md5 simplemente comparas rapidamente jaja No se hay muchas posibilidades interesantes Un Saludo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda insert
Programación Visual Basic
|
josemer
|
1
|
1,283
|
31 Enero 2006, 21:43 pm
por el_chente23
|
|
|
ayuda en insert
Programación Visual Basic
|
josemer
|
0
|
1,202
|
3 Marzo 2006, 21:33 pm
por josemer
|
|
|
Mi aporte pare todos
Programación Visual Basic
|
henker
|
1
|
1,432
|
9 Agosto 2007, 12:02 pm
por sch3m4
|
|
|
Vaca pare un caballo!
« 1 2 »
Foro Libre
|
ignorantev1.1
|
16
|
11,044
|
1 Noviembre 2010, 15:40 pm
por [L]ord [R]NA
|
|
|
[Resuelto] problema con foreach en php para hacer insert
PHP
|
tecasoft
|
3
|
2,899
|
19 Octubre 2015, 23:55 pm
por tecasoft
|
|