-
Notifications
You must be signed in to change notification settings - Fork 4
/
script.js
78 lines (68 loc) · 2.26 KB
/
script.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
77
78
const selecione = document.querySelector(".select");
const incremento = document.querySelector(".chave-container");
const btn = document.querySelector("button");
const radiobtn = document.querySelector(".radio-button");
const codificar = document.querySelector("#codificar");
const decodificar = document.querySelector("#decodificar");
// Incremento da Cifra de César
selecione.addEventListener("click", function () {
if (selecione.value == "cifra") {
incremento.style.display = "block";
} else {
incremento.style.display = "none";
}
});
// Base64
function base64() {
let mensagem = document.querySelector("#mensagem").value;
if (codificar.checked) {
let codificado = btoa(mensagem);
return codificado;
} else if (decodificar.checked) {
let decodificado = atob(mensagem);
return decodificado;
}
}
// Cifra de César
function cifraCesar() {
let msg = document.querySelector("#mensagem").value;
let chave = parseInt(document.querySelector("#rangenumber").value);
let saida = '';
if (codificar.checked) {
for (let i = 0; i < msg.length; i++) {
if (msg[i] === msg[i].toUpperCase()) {
saida += String.fromCharCode((msg.charCodeAt(i) + chave - 65) % 26 + 65);
} else {
saida += String.fromCharCode((msg.charCodeAt(i) + chave - 97) % 26 + 97);
}
}
return saida;
} else if (decodificar.checked) {
for (let i = 0; i < msg.length; i++) {
if (msg.charCodeAt(i) >= 97 && msg.charCodeAt(i) <= 122) {
saida += String.fromCharCode((msg.charCodeAt(i) - 97 - chave + 26) % 26 + 97);
} else if (msg.charCodeAt(i) >= 65 && msg.charCodeAt(i) <= 90) {
saida += String.fromCharCode((msg.charCodeAt(i) - 65 - chave + 26) % 26 + 65);
} else {
saida += String.fromCharCode(msg.charCodeAt(i));
}
}
return saida;
}
}
// Botão
radiobtn.addEventListener("click", function () {
if (codificar.checked) {
btn.innerHTML = "Codificar Mensagem!";
} else if (decodificar.checked) {
btn.innerHTML = "Decodificar Mensagem!";
}
});
btn.addEventListener("click", function (event) {
event.preventDefault();
if (selecione.value === "base64") {
resultado.innerText = base64();
} else if (selecione.value === "cifra") {
resultado.innerText = cifraCesar();
}
});