Найти в Дзене
Блокнот математика

Рубрика "Секреты Вим". Шифрование текста на экране.

Продолжаем тему тайных дел! Есть простенький детский шифр ROT13, состоящий в сдвиге букв английского алфавита...

Всем привет, продолжаем тему тайных дел. Заметка краткая, дополняет предыдущую, в которой мы обсуждали шифрование файлов. Вим умеет зашифровать текст и расшифровать его, прозрачно для пользователя. Это позволяет обеспечить, до некоторой степени, безопасность своих документов.

Однако на экране текст не зашифрован...

Есть простенький детский шифр ROT13, состоящий в сдвиге букв английского алфавита на 13 позиций. Поскольку букв всего 26, то направление сдвига роли не играет, а преобразование обратно к самому себе, то есть повторное применение расшифровывает зашифрованное.

Шифр наивный, но скрыть что-то от случайного наблюдателя, глядящего на экран, позволяет.

Еще он используется иногда для сокрытия ответов на задачки, для обхода всяких фильтров, ну все в таком роде, поэтому полезно иметь средство для работы с ним, чтобы не отсчитывать буквы по пальцам.

Впрочем, при известной тренировке читать ROT13 можно почти как обычный текст.

Недостаток: работает только для латиницы. Для русского текста, цифр и знаков препинания и других --- не работает.
Еще хуже, что это работает только для [a-zA-Z]. Буквы с акцентами тоже не преобразуются. Что и логично, впрочем. Если пишете по-итальянски, фински, немецки, шведски и т.п., жертвуйте акцентами ради безопасности))
Впрочем, для английского языка и программирования --- более, чем достаточно.

Вим умеет шифровать этим шифром, разумеется:

g? команда движения

или

выделение g?

Например, g?$ --- зашифровать все до конца строки, а g?0 --- до начала, а g?gg --- до начала текста. Заметьте, как быстро это можно набрать!

Но можно еще быстрее: g?? или g?g? шифрует всю текущую строку.

Регистр сохраняется: "A" переходит в "N" и обратно, а "a" --- в "n" и обратно.

Потренируемся в расшифровке?

  • Jung nobhg n ebznagvp qvaare gbavtug?
  • zl cnffjbeq vf abg_xabja2h
  • sbe(v=0;v<a;v++)
Это мои стихи. На итальянском. Хотите, расшифруйте и переведите)) Третья фраза --- не стихотворение, а нечто иное, чего в итальянском раньше не было, а теперь есть.
Это мои стихи. На итальянском. Хотите, расшифруйте и переведите)) Третья фраза --- не стихотворение, а нечто иное, чего в итальянском раньше не было, а теперь есть.

Путеводитель по каналу