• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Sobre PHP i la funcion md5(cadena)

    Programado Fijo Cerrado Movido
    Software
    5
    23
    4.1k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • MystixM
      Mystix
      Última edición por

      Incluso un ataque con diccionarios sería bastante improbable que tuviera éxito antes de que el atacante muera de asco o el servidor web se vaya abajo :risitas:

      ¡Ojo! Pero por si acaso mejor mantener passwords difíciles, que no sean palabras existentes, blablabla… Y seguir protegiendo el acceso a las claves 🙂

      1 Respuesta Última respuesta Responder Citar 0
      • marcaljM
        marcalj
        Última edición por

        Ahora pensando en todo esto….

        Para encriptar en md5, tal i como lo hace la funcion en PHP, pues tu le entras una cadena i el hace otra con muchos caracteres i desordenados xD 😛

        bueno, pues el tema seria (para descifrar) un programita k vaya provando a descifrar todos los caracteres en serie, primero un caracter, luego dos etc, hasta k conincida, no?

        Se podria construir una funcion recursiva k lo haga....el tema no es saber descifrar, si no, cifrar hasta encontrarla, no? no creo k cueste mucho...como nunca cambia....pues...o no?

        Vamos a plantear el problema....(poca faena, eh!...xD)

        Tenemos la clave encriptada en md5 por ejemplo: md5("b6") = 528953727ef3a4e1c441c6078534c39b (en total 32 caracteres siempre).

        Entonces como no sabemos k lo que queremos es encontrar "b6" tendremos k ir provando a partir de un caracter todas las "letras" si no da resultado, pues con dos, asi hasta encontrarlo...poniendo un limite de 32 caracteres en la contraseña, por ejemplo.

        Estaba haciendo la funcion pero tengo una duda, en PHP como va el tema de los caracteres, pq en C tu le defines una variable como caracter i solamente incrementandola te salen todos los caracteres, pero en PHP no lo hace...

        alguna idea??

        Pero la funcion es simple.

        Salu2!

        1 Respuesta Última respuesta Responder Citar 0
        • KrHonHoSK
          KrHonHoS
          Última edición por

          mmmm marcalj, eso ya esta inventado y se llama johnTheRipper (por ejemplo) y como dice krampak es demasiado el tiempo q te lleva y eso haciendolo en local, q mi viejo k6-2 a 300 procesaba 500.000 claves por segundo y le tube 3 dias a ver si me sacaba la mia, y no hubo manera.

          Si kieres seguridad usa claves de mas de 8 digitos, con convinacion de numero y letras (no uses el dni q eso se peta mu fasil).

          Se me olvidaba, no lo hagas en php q es una locura. Lo mejor es C. Ocupa poco y es capaz de correr en una maquina con msdos y totalmente limpia, asi ira muchisimo mas rapido. Si lo chutas en linux desde una mini o algo similar q este totalmente pelao ira rapidismo o como dice krampak con un cluster un poco majo y programacion distribuida ira tmb mu rapido, aunq necesitas una red potente.

          SalU2

          KrHonHoS

          1 Respuesta Última respuesta Responder Citar 0
          • marcaljM
            marcalj
            Última edición por

            ¬ ¬

            Como puede tardar tanto…. no se... bueno pos lo hago en C a ver como me sale.

            Salu2!

            1 Respuesta Última respuesta Responder Citar 0
            • MystixM
              Mystix
              Última edición por

              marcalj, para que veas que es cuestión de potencia y estamos trabajando con números de combinaciones jodidamente grandes (muy jodidamente grandes x))

              Pongamos que trabajamos con 25 carácteres, ¿vale?

              Una password de 1 cifra serán 25 combinaciones,
              una password de 2 cifras serán 2525 combinaciones,
              una password de 3 cifras serán 25
              25*25 combinaciones (ya estamos hablando de 15.625 posibles combinaciones para tan solo tres cifras) así que usando potencias podemos saber que una password de, pongamos, 8 cifras tiene 25^8 combinaciones diferentes (esto son 152.587.890.625 combinaciones ciento cincuenta y dos mil millones y medio más o menos. Si el PC de Khronos procesaba 500.000 claves por segundo hacemos un pequeño cálculo del que sacamos que necesitaría 84 horas para probar todas las combinaciones.

              Por cierto, ahora me doy cuenta de que he metido la pata porque md5 también usa números, con lo que los cálculos para 8 carácteres y 35 cifras nos daríán que khronos necesitaría 1251 horas para probar todas las combinaciones (52 días enteros).

              Ah, si hilamos fino md5 no cifra, simplemente hace un digest (una especie de resumen), por eso se usa para calcular la integridad de lo que nos bajamos de internet (lo habréis visto todos aquellos que hayais bajado alguna distro linux).

              Si os interesa el tema y os gusta leer os recomiendo una novela de Neal Stephenson llamada Criptonomicón. A parte de ser una historia genial (bueno, más de una) aprendes bastantes cosillas de criptografía 🙂

              Una trozo del libro que citan en un artículo de Kriptopolis dice así:

              _"Cuanto más larga es la clave que quieres generar, más largo es el proceso. Randy intenta generar una ridículamente larga. Le ha comentado a Avi, por medio de un mensaje cifrado, que si cada una de las partículas de materia del universo pudiese emplearse para construir un único superordenador cósmico, y ese ordenador trabajase en intentar romper la clave de cifrado de 4096 bits, le llevaría más tiempo que toda la vida estimada del universo.

              Empleando la tecnología actual -le respondió Avi- eso es cierto. Pero ¿qué hay de los ordenadores cuánticos? ¿Y si se desarrollan nuevas tecnologías matemáticas que simplifiquen la factorización de grandes números?

              -¿Cuánto tiempo quieres que sean secretos esos mensajes?- le preguntó Randy en el último mensaje antes de abandonar San Francisco-. ¿Cinco años? ¿Diez años? ¿Veinticinco años?.

              Después de llegar al hotel esa tarde, Randy descifró y leyó la respuesta de Avi. Todavía la tiene colgada frente a los ojos, como la imagen remanente de un flash:

              - "Quiero que sigan siendo secretos mientras los hombres sean capaces del mal."

              (Neal Stephenson, "Criptonomicón")_

              1 Respuesta Última respuesta Responder Citar 0
              • marcaljM
                marcalj
                Última edición por

                :susto: Vaya tela, bueno igualmente me curo un programita k hace tiempo k no programaba nada i me ha venido ganas… Lo hare para caracteres de la A a la Z, de la a a la z, i del 0 al 9.

                Luego os cuento.

                Salu2!

                1 Respuesta Última respuesta Responder Citar 0
                • MystixM
                  Mystix
                  Última edición por

                  Vaya, se me olvidaba que distingue entre mayúsculas y minúsculas :risitas: :risitas:

                  Eso aumenta la cifra a 3888 días de cálculo para 8 carácteres :risitas: y para que nos hagamos una idea de lo que aumenta con poner un solo carácter más… para passwords de 9 carácteres serían (con el k6-2 de khronos, claro) 5598720 días o 15338 años.
                  Por cierto me equivoqué al decir que Linux lleva las claves en md5, según he leído (en una instalación de SuSe 8.2 :risitas:) hoy mismo el estándar en Linux ahora es DES.

                  1 Respuesta Última respuesta Responder Citar 0
                  • marcaljM
                    marcalj
                    Última edición por

                    jajajaja solo para crackear mi puta contraseña del PHP-Nuke se estaria años xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD jajajajajaja

                    Lo siento pero eske me ha venido la risa jajajaja vaya tela.

                    Bueno una duda k me ha surgido, como llamo la funcion en C para que me cree la cadena en md5??

                    Salu2!

                    1 Respuesta Última respuesta Responder Citar 0
                    • MystixM
                      Mystix
                      Última edición por

                      Use the source, Luke!

                      1 Respuesta Última respuesta Responder Citar 0
                      • MystixM
                        Mystix
                        Última edición por

                        Y aquí hablan un poco de como usar la función crypt()

                        1 Respuesta Última respuesta Responder Citar 0
                        • josefuJ
                          josefu
                          Última edición por

                          Si quieres algo MAS seguro utiliza blowfish xD xD xD

                          A ver quién rompe eso por fuerza bruta

                          1 Respuesta Última respuesta Responder Citar 0
                          • 1
                          • 2
                          • 2 / 2
                          • First post
                            Last post

                          Foreros conectados [Conectados hoy]

                          0 usuarios activos (0 miembros e 0 invitados).
                          febesin, pAtO,

                          Estadísticas de Hardlimit

                          Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                          Somos un total de 34.8k miembros registrados.
                          seaofink ha sido nuestro último fichaje.