Це набагато досконаліше, ніж Як рандомізувати букви в слові та « Кембриджська транспозиція» через правило про те, якими літерами можна міняти місцями. Тут не вистачить простого регулярного виразка.
Добре відомо, що текст все ще можна прочитати, поки внутрішні його слова були скрембліровані до тих пір, поки їхні перші та останні букви плюс їх загальні контури залишаються постійними. З огляду на текст для друку Ascii + Newline, скремтуйте кожне слово відповідно до цих правил:
Скремблінг повинен бути (псевдо) випадковим.
Слово - це послідовність латинських символів, від А до Я.
Лише початкові літери коли-небудь будуть великими літерами.
Перша та остання букви повинні залишатися недоторканими.
Під час кодування, лише листи в одній із наступних груп можуть обмінюватися місцями:
acemnorsuvwxzbdfhklgpqyitj(залишається на місці)
Приклад
Srcmable wrods, поки psrrnveieg їх oeiltnus
Добре відомо, що txet все ще можна прочитати, поки внутрішні частини його wrods були зруйновані, до тих пір, поки їх fisrt і останні букви плюс їх ovaerll ontliues raemin не можуть. Враховуючи patnirlbe Acsii + Nwnliee txet, слово samrclbe ecah anoccdirg до цих релюсів:
Smncrbliag повинен бути (pusedo) rondam.
Врод - це послідовність латинських креретів, A thurogh Z.
Підвищуватимуться лише ті, що починаються з першокласників.
Фіскальний та лісатський риси повинні залишатися непрограшними.
Якщо sarnclbimg, лише літери, що знаходяться в одному з guorps fwllnoiog, можуть вимкнути плаценти:
aneusvrowxmcz
bhkfdl
gqpy
it
j(залишається в plcae)Emxaple
tз групи 2? А може, ввести tв групу 4 с i?
printable/ patnirlbeне зовсім читабельна. Я думаю i/ tвинна в / swap. Хм ... paintrlbeНі, це теж не допомогло. Це, мабуть, pr/ paswap. Контур підтримує, але я думаю , що я прочитав «PR» і «па» як семантичний (?) 1 лист. prtnialbeАга так. Це і вдалося. Не впевнений, що я можу запропонувати виправити алгоритм.
tповинна бути коротшою,hхоча багато людей так не пишуть.