Великий дешифровщик — Массивы — HTML Academy

In this example below you will see how to do a Великий дешифровщик — Массивы — HTML Academy with some HTML / CSS and Javascript

https://htmlacademy.ru/courses/213/run/15

Thumbnail
This awesome code was written by Филипп Юрьевич Ригованов, you can see more from this user in the personal repository.
You can find the original code on Codepen.io
Copyright Филипп Юрьевич Ригованов ©
  • HTML
  • JavaScript
<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  <title>Великий дешифровщик  — Массивы — HTML Academy</title>
  
  
  
  
  
</head>

<body>

  
  
  

    <script  src="js/index.js"></script>




</body>

</html>

/*Downloaded from https://www.codeseek.co/a1ip/andx412andx435andx43bandx438andx43aandx438andx439-andx434andx435andx448andx438andx444andx440andx43eandx432andx449andx438andx43a-andx2014-andx41candx430andx441andx441andx438andx432andx44b-andx2014-html-academy-ppWgdP */
// Алфавит
var symbols = ['А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', ' ', '.', ',', '—', '!'];

// Смещение
var shift = 10;

// Закодированное сообщение
var encodedMessage = [8, 28, 36, 52, 56, 40, 23, 31, 56, 39, 38, 28, 48, 52, 58, 56, 38, 27, 32, 37, 56, 40, 23, 31, 56, 39, 38, 41, 39, 32, 57];

// Раскодированное сообщение
var decodedMessage = '';
for (var i = 0; i <= encodedMessage.length - 1; i++) {
  decodedMessage += symbols[(encodedMessage[i] + shift) % symbols.length];
}
//console.log(decodedMessage);
/*

Мяу! Я научился шифровать и мне нужна программа расшифровки.

Есть массив symbols, в котором хранится алфавит (буквы и другие символы).

Есть массив encodedMessage, в котором хранится зашифрованное сообщение. Каждый элемент этого массива — это индекс символа из массива symbols.

Индексы сдвинуты на величину в переменной shift. Пример: элемент из зашифрованного массива равен единице, значит с учётом сдвига десять это символ с индексом одиннадцать в массиве с алфавитом, то есть «К».

Программа дешифровки должна переводить элементы из массива с шифровкой в символы из массива алфавита и склеивать из них расшифрованную строку. Эту строку храним в переменной decodedMessage.

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

*/

Comments