Había pensado recomendarte un foro de hackers si nadie te respondía, pero lo tuyo ni siquiera es un problema de informática me parece, ni matemáticas, parece como jugar al ahorcado.
https://es.wikipedia.org/wiki/Ahorcado_(juego)
Como tiene tildes podemos suponer que está en español, aunque quizá tenga palabras en otro idioma.
Se supone que conviene empezar por palabras en que sólo falte 1 letra. Y entre más larga, mejor. O entre menos posibilidades tenga. E4tá parece claro que es Está. Luego sustituyes los 4 por s.
M... ¿pero esto lo tienes que hacer programando? m... usando un archivo de diccionario... En ese caso sí es tarea de informática.
Necesitas poner la frase en un array, donde en los casos en que no sepas las letras pones los números.
Otro array igual (Traduction).
Luego consigues un diccionario.
Luego debes crear otro array que en cada posición tenga la letra que corresponde, por ejemplo "_", "_", "_", "_", "_", "A"
o sea, el 5 es A.
Las demás posiciones se van a tener que asignar, usando combinatoria y variando, especificando que ciertos valores no varíen (como A, que ya lo sabes).
Para cada variación, haces que Traduction sea como la frase incógnita, luego le sustituyes las letras según el 3era array (el código, el sistema de traducción), y para cada palabra formada chequeas que esté en el diccionario. Si resulta, ya probablemente tienes la respuesta, sino se prueba la siguiente variación.
No es tan fácil, pero GPT te lo puede hacer casi todo. Pero hay 2 problemas:
- Difícilmente todas las palabras estén en un diccionario, porque suelen estar los verbos no conjugados o como se diga, "estar", pero no "estoy", "estás", "está", etc, etc.
- Podría ser que el programa halle una traducción en que efectivamente se formen palabras reales, pero que la frase en sí no tenga sentido.
Así que no creo que sea una buena solución, aunque es un poco interesante.
Los hackers a veces deben traducir hashes, sin pistas. No sé los detalles.
https://es.wikipedia.org/wiki/Funci%C3%B3n_hash