Advertisement
roby21i

Roby21i

Dec 22nd, 2016
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Шифр Цезаря</title>
  6.     <link rel="stylesheet" type="text/css" href="css/style.css">
  7. </head>
  8. <body>
  9.     Повідомлення:
  10.     <br /><input type='text' id='message'>
  11.     <br /><br />
  12.     Зсув (число): <input type='text' id='shift' value='3'>
  13.     <br /><br />
  14.     <button onclick='encrypt()'>Зашифрувати</button>
  15.     <br /><br />
  16.     <button onclick='decrypt()'>Розшифрувати</button>
  17.     <br /><br />
  18.     Результат: <br />
  19.     <input type='text' id='cipher'>
  20.  
  21.     <script>
  22.         var alphabet = 'АБВГДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ_';
  23.         function shiftAlphabet(shift) {
  24.             console.log(shift)
  25.             var shiftedAlphabet = 'ГДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯАБВ_'; //новий алфавіт
  26.             for (var i = 0; i < alphabet.length; i++) {
  27.                 //console.log(i, alphabet[i+shift]);
  28.                 currentLetter = (alphabet[i + shift] === undefined) ? (alphabet[i + shift - alphabet.length]) : (alphabet[i + shift        ]); //Поточна буква з зсувом, якщо виходимо за рамки довжини алфавіту - берем з початку алфавіту
  29.  
  30.                 shiftedAlphabet = shiftedAlphabet.concat(currentLetter);
  31.             }
  32.             return shiftedAlphabet;
  33.         }
  34.  
  35.         console.log(shiftedAlphabet);
  36.  
  37.         function encrypt() {
  38.             var message = document.getElementById('message').value;
  39.             var shift = parseInt(document.getElementById('shift').value);
  40.             var shiftedAlphabet = shiftAlphabet(shift);
  41.             var encryptedMessage = '';
  42.             for (var i = 0; i < message.length; i++) {
  43.                 var indexOfLetter = alphabet.indexOf(message[i].toUpperCase());
  44.                 encryptedMessage = encryptedMessage.concat(shiftedAlphabet[indexOfLetter]);
  45.             }
  46.             document.getElementById('cipher').value = encryptedMessage.toLowerCase();
  47.         }
  48.  
  49.         function decrypt() {
  50.             var message = document.getElementById('message').value;
  51.             var shift = parseInt(document.getElementById('shift').value);
  52.             var shiftedAlphabet = shiftAlphabet(shift);
  53.             var encryptedMessage = '';
  54.             for (var i = 0; i < message.length; i++) {
  55.                 if (message[i] == ' ') {
  56.                     encryptedMessage = encryptedMessage.concat(' ');
  57.                     continue};
  58.                 var indexOfLetter = shiftedAlphabet.indexOf(message[i].toUpperCase());
  59.                 encryptedMessage = encryptedMessage.concat(alphabet[indexOfLetter]);
  60.             }
  61.             document.getElementById('cipher').value = encryptedMessage.toLowerCase();
  62.         }
  63.     </script>
  64. </body>
  65. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement