Si sé el valor inicial de una cadena y el hash resultante pero no tengo acceso al sistema que produce la salida, ¿cómo puedo determinar lo que realmente ocurrió para poder reproducir el algoritmo de hash?
Para darle un ejemplo, digamos que tengo una lista como esta:
Nathan b01f1c8a5cc02855a2fc19ffc0da421b
password 0b8b946432f1ac91f0b07bd5f8df6587
string c741dd70bca16058ca3f62b2ee926ec6
Sé que los pasos que tomé para obtener esto fueron MD5(Base64("string"))
pero ¿hay alguna forma de determinar eso solo con los datos anteriores? ¿Además de probar un montón de secuencias comunes de codificación / hash en las cadenas originales y esperar tropezar con una salida coincidente? Si tengo muchas cadenas de entrada y hashes de salida, ¿eso ayuda de alguna manera para el análisis?