AFON // радиотехник affonya@mail.ru
← Все проекты JavaScript

Кодировщик ROT13

Самообратный шифр ROT13.

JS.15 · Строки

Задача

Преобразовать текст алгоритмом ROT13.

Алгоритм

Каждая буква сдвигается на 13 позиций; повторное применение возвращает исходный текст.

Исходный код

⇩ Скачать 15-rot13.js

// ROT13
const rot13 = s => s.replace(/[a-z]/gi, c => {
  const b = c <= 'Z' ? 65 : 97;
  return String.fromCharCode((c.charCodeAt(0) - b + 13) % 26 + b);
});

console.log(rot13('Hello'));
console.log(rot13(rot13('Hello')));

Пояснения

ROT13 не требует ключа: одна функция и шифрует, и расшифровывает.