Existen enfoques muy complicados para este problema, sin embargo, probablemente pueda elegir uno muy simple. P.ej. defina un adjetivo para cada número:
0. beautiful
1. harmless
2. evil
3. colorful
4. weird
y así sucesivamente. Ahora seleccione oraciones de su elección y coloque marcadores de posición en las oraciones donde pertenecen los adjetivos.
"The {adj} cat sat on the {adj} dog and the {adj} cat was happy."
Su número es 123, por lo que su sentencia es
"The harmless cat sat on the evil dog and the colorful cat was happy."
Un analizador puede tomar fácilmente la sentencia, dividirlo en palabras, encontrar adjetivos en la tabla anterior, y convertirlos de nuevo a los números .
The -> ?
harmless -> 1
cat -> ?
sat -> ?
on -> ?
the -> ?
evil -> 2
:
al final tienes 123 de nuevo.
Tan pronto la gente sepa que hay información oculta en la oración, el algoritmo se rompe fácilmente. Puede hacer que sea más difícil romper si agrega variación al definir múltiples adjetivos por número. En lugar de
1. harmless
puede definir
1. harmless/stupid/blue/fashionable
cuando se necesita para codificar 1, elige al azar cualquiera de las palabras de arriba. Como estos se asignan al número 1, al analizador inverso no le importará cuál de las palabras se imprime allí, el resultado siempre será uno. Esta aleatorización dificultará la ingeniería inversa del algoritmo.
¡Asegúrese de habilitar la compresión en su servidor HTTP si hace esto! –
Sí, si está transmitiendo cantidades significativas de datos podría ser algo difícil de manejar. –