En primer lugar:
-
el hashing no es cifrado: se suponía que md5
era de una manera; un sistema criptográfico (ya sea tan malo como sea) se supone que tiene un cifrado y un método de descifrado que revierte el cifrado. Esto no es ni puede ser cierto para el hash, ya que el espacio de la imagen es mucho más pequeño que el espacio urimage de una función hash. Por cierto, la búsqueda de imágenes previas para imágenes md5 es computacionalmente posible los días de la semana, por ejemplo. eso no es hash seguro.
-
la codificación es, técnicamente, encriptación (como no hacer nada, id
también lo es), pero generalmente, la palabra "encriptación" no se entiende en un rango más amplio para incluir un concepto de seguridad. La codificación ofrece un camino de regreso y la "clave" es siempre la misma y todos lo saben. El "cifrado" se puede revertir fácilmente. Entonces, en realidad, estás codificando, no cifrando utilizando base64
.
Haber confundido hash, cifrado y codificación es a menudo una señal de que leer sobre el tema podría ser una buena opción.
Aparte de eso: ¿cuál es tu pregunta real? ¿Supones que el hash md5
solo está codificado en base64
y quieres que te indiquemos con qué algoritmo?
Bueno, base64
. Solo hay tantas opciones.
Pero si esto no funciona, ¿has considerado que algún cifrado real ocurre entre el hash y la codificación base64?
Los resultados de los cifrados suelen estar codificados en base64 para poder enviarlos en texto. Los hash no son, generalmente, porque se garantiza que solo contienen caracteres imprimibles en su notación hexadecimal (habitual).
El problema es: no puede deducir (dado que se ha utilizado un cifrado seguro) a partir del texto cifrado que se ha utilizado el algoritmo de cifrado, aparte del tamaño del bloque. Entonces, mientras adivines algún algoritmo de cifrado con un tamaño de bloque de 128 bits, tu suposición es tan buena como la mía, desafortunadamente.