Что такое шифр Цезаря?
В криптографии шифр Цезаря, также известный как шифр Цезаря, шифр сдвига, код Цезаря или сдвиг Цезаря, является одним из самых простых и широко известных методов шифрования. Это тип шифра замены, в котором каждая буква в открытом тексте заменяется буквой на некоторое фиксированное количество позиций в алфавите. Например, при смещении влево на 3 D будет заменено на A, E станет B и так далее. Метод назван в честь Юлия Цезаря, который использовал его в своей частной переписке.
Код
const caesarCipher = (str, shift) => { const letters = 'abcdefghijklmnopqrstuvwxyz'.split(''); let res = ''; for (let i = 0; i < str.length; i++) { const char = str[i]; const ind = letters.indexOf(char); if (ind === -1) { res += char; continue; } const encodedIndex = (ind + shift) % 26; res += letters[encodedIndex]; } return res; };
Мокко Тест
mocha.setup('bdd'); const { assert } = chai; describe('caesarCipher()', () => { it('Shifting Letters Successfully', () => { assert.equal(caesarCipher('c', -2), 'a'); assert.equal(caesarCipher('abcd', 1), 'bcde'); assert.equal(caesarCipher('yz', 1), 'za'); assert.equal(caesarCipher('abcd', 100), 'wxyz'); }); it("Doesn't shift non-alphabetic Characters", () => { assert.equal(caesarCipher('gurer ner 9 qbtf!', 13), 'there are 9 dogs!'); }); }); mocha.run(); ```