Как я могу декодировать файл, где каждая буква была заменена буквами буквы 13 перед ним в алфавите?

Существует текст, затронутый ROT13, названным rot.txt. ROT13 (вращаются 13 местами) заменяет букву буквами буквы 13 после него в алфавите. Как я пишу команду для просмотра фактического текста?

Я попробовал:

cat rot.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'

но никакой успех

1
задан 19 October 2018 в 21:31

3 ответа

Вот способ с примером

echo "hello world" | tr "$(echo -n {A..Z} {a..z} | tr -d ' ')" "$(echo -n {N..Z} {A..M} {n..z} {a..m} | tr -d ' ')"

Вывод:

uryyb jbeyq

Сделать функцию:

function rot13() {    
    cat | tr "$(echo -n {A..Z} {a..z} | tr -d ' ')" "$(echo -n {N..Z} {A..M} {n..z} {a..m} | tr -d ' ')" 
}

Использование:

[ 113]
5
ответ дан 3 December 2019 в 06:50

Самый легкий способ дешифровать состоит в том, чтобы использовать ту же программу, используемую для шифрования теста; ROT13:

Смещение 13 позволяет шифрованию быть обратимым. Метод шифрования и дешифрования идентичен. Применение 2 последовательного шифрования (2 сдвига 13) направляется для нахождения оригинального текста.

Ссылка также упоминает, что числа могут быть зашифрованы путем смещения ASCII, 5 положений и знаки пунктуации могут быть зашифрованы путем смещения ASCII 47 положений.

1
ответ дан 3 December 2019 в 06:50

Вы также можете добиться того же результата с помощью следующей части команды:

tr '[a-z][A-Z]' '[n-za-m][N-ZA-M]'

или

tr '[a-zA-Z]' '[n-za-mN-ZA-M]'

Лично мне этот синтаксис кажется намного проще.

2
ответ дан 6 January 2020 в 15:54

Другие вопросы по тегам:

Похожие вопросы: