-
Notifications
You must be signed in to change notification settings - Fork 1
/
encrypter.js
77 lines (69 loc) · 1.78 KB
/
encrypter.js
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
75
76
const encryptButton = document.getElementById("encrypt-button");
const decryptButton = document.getElementById("decrypt-button");
const copyButton = document.getElementById("copy-button");
const inputText = document.getElementById("input-text");
const result = document.getElementById("result");
const encryptionKey = {
"e": "enter",
"i": "imes",
"a": "ai",
"o": "ober",
"u": "ufat"
};
const decryptKey = {
"enter": "e",
"imes": "i",
"ai": "a",
"ober": "o",
"ufat": "u"
};
function encrypt(text) {
let encryptedText = "";
for (let i = 0; i < text.length; i++) {
const letter = text[i];
if (letter in encryptionKey) {
encryptedText += encryptionKey[letter];
} else {
encryptedText += letter;
}
}
return encryptedText;
}
function decrypt(text) {
let decryptedText = "";
let currentWord = "";
for (let i = 0; i < text.length; i++) {
const letter = text[i];
if (letter in decryptKey) {
currentWord += letter;
} else {
if (currentWord in decryptKey) {
decryptedText += decryptKey[
currentWord];
} else {
decryptedText += currentWord;
}
currentWord = "";
decryptedText += letter;
}
}
if (currentWord in decryptKey) {
decryptedText += decryptKey[currentWord];
} else {
decryptedText += currentWord;
}
return decryptedText;
}
encryptButton.addEventListener("click", function() {
const input = inputText.value;
result.textContent = encrypt(input);
});
decryptButton.addEventListener("click", function() {
const input = inputText.value;
result.textContent = decrypt(input);
});
copyButton.addEventListener("click", function() {
const input = inputText.value;
const encryptedInput = encrypt(input);
navigator.clipboard.writeText(encryptedInput);
});