Существуют очень сложные подходы к этой проблеме, но вы, вероятно, можете пойти с очень простым. Например. определить прилагательное для каждого числа:
0. beautiful
1. harmless
2. evil
3. colorful
4. weird
и так далее. Теперь выберите предложения по вашему выбору и поместите их в предложения, к которым относятся прилагательные.
"The {adj} cat sat on the {adj} dog and the {adj} cat was happy."
Ваш номер 123, поэтому ваше предложение
"The harmless cat sat on the evil dog and the colorful cat was happy."
Парсер может легко взять предложение, разбить его на слова, найти прилагательные в таблице выше и преобразовать их обратно в числа.
The -> ?
harmless -> 1
cat -> ?
sat -> ?
on -> ?
the -> ?
evil -> 2
:
в конце у вас снова 123.
Как только люди узнают, что в предложении скрыта информация, алгоритм легко нарушается. Вы можете усложнить ломку, если добавите вариацию, определив несколько прилагательных на число. Вместо
1. harmless
вы можете определить
1. harmless/stupid/blue/fashionable
когда вам нужно кодировать 1, случайным образом выберите любое из слов выше. Поскольку все они сопоставляются с номером 1, обратному парсеру не будет важно, какое из слов там напечатано, результат всегда будет один. Эта рандомизация усложнит обратную разработку алгоритма.