-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathЛаб5.1.html
More file actions
74 lines (57 loc) · 3.05 KB
/
Лаб5.1.html
File metadata and controls
74 lines (57 loc) · 3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Шифрование текста</title>
</head>
<body>
<textarea id="inputText" rows="4" cols="50">В полях стояла злая осень.</textarea>
<br><br>
<input type="number" id="shiftAmount" placeholder="Введите число сдвига">
<button onclick="encryptText()">Закодировать и отправить текст</button><br><br>
<script>
let customCharCodes = {
'А': 1, 'Б': 2, 'В': 3, 'Г': 4, 'Д': 5, 'Е': 6, 'Ё': 7, 'Ж': 8, 'З': 9, 'И': 10,
'Й': 11, 'К': 12, 'Л': 13, 'М': 14, 'Н': 15, 'О': 16, 'П': 17, 'Р': 18, 'С': 19, 'Т': 20,
'У': 21, 'Ф': 22, 'Х': 23, 'Ц': 24, 'Ч': 25, 'Ш': 26, 'Щ': 27, 'Ъ': 28, 'Ы': 29, 'Ь': 30,
'Э': 31, 'Ю': 32, 'Я': 33, 'а': 34, 'б': 35, 'в': 36, 'г': 37, 'д': 38, 'е': 39, 'ё': 40,
'ж': 41, 'з': 42, 'и': 43, 'й': 44, 'к': 45, 'л': 46, 'м': 47, 'н': 48, 'о': 49, 'п': 50,
'р': 51, 'с': 52, 'т': 53, 'у': 54, 'ф': 55, 'х': 56, 'ц': 57, 'ч': 58, 'ш': 59, 'щ': 60,
'ъ': 61, 'ы': 62, 'ь': 63, 'э': 64, 'ю': 65, 'я': 66, ',': 67, '.': 68, '!': 69, '?': 70,
'-': 71, '=': 72, ' ': 73 };
function encryptText() {
let text = document.getElementById('inputText').value;
let shift = parseInt(document.getElementById('shiftAmount').value);
if(shift >= 66) {
alert('Пожалуйста, введите число сдвига от 1 до 66');
return;
}
let encryptedText = '';
for (let i = 0; i < text.length; i++) {
let char = text[i];
let charCode = customCharCodes[char];
if (charCode) {
let newCharCode = charCode + shift;
if (newCharCode > 73) {
newCharCode = newCharCode - 73; // Обеспечиваем зацикливание в пределах диапазона
}
let encryptedChar = Object.keys(customCharCodes).find(key => customCharCodes[key] === newCharCode);
encryptedText += encryptedChar;
} else {
encryptedText += char;
}
}
// Сохраняет зашифрованный текст и значение сдвига в Session Storage с помощью `sessionStorage.setItem`.
window.sessionStorage.setItem('encryptedText', encryptedText);
window.sessionStorage.setItem('shiftAmount', shift);
sendtext()
//alert('Текст успешно закодирован и сохранен в Session Storage'); // Выводит сообщение о том, что текст успешно закодирован и сохранен в Session Storage.
}
function sendtext()
{
window.open('file:///C:/Users/Елена/Desktop/2курс(2)/Веб_разработка/Лабораторные_работы_web/Лаб_5/Лаб5.2.html?text='+ window.sessionStorage.getItem('encryptedText') + '&n=' + window.sessionStorage.getItem('shiftAmount'), '_blank').focus();
}
</script>
</body>
</html>