-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
83 lines (64 loc) · 2.91 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
79
80
81
82
83
document.getElementById("encriptar").addEventListener("click", function(e){
e.preventDefault()
encriptar()
})
document.getElementById("desencriptar").addEventListener("click", function(e){
e.preventDefault()
desencriptar()
})
document.getElementById("copiar").addEventListener("click", function(e){
e.preventDefault()
copiar()
})
const ALFABETO = "abcdefghijklmnopqrstuvwxyz";
function encriptar() {
let entradaTexto = document.getElementById("texto").value
var claveEncriptar = "elefante"
let salidaCifrada = "";
let j = 0;
for (let i = 0; i < entradaTexto.length; i++) {
const caracterEntrada = entradaTexto[i];
const caracterEntradaPosicion = ALFABETO.indexOf(caracterEntrada);
if (caracterEntradaPosicion === -1) {
salidaCifrada += caracterEntrada;
continue;
}
const claveEncriptarCharacter = claveEncriptar[j];
const claveEncriptarCharacterIndex = ALFABETO.indexOf(claveEncriptarCharacter);
const sumaIndices = caracterEntradaPosicion + claveEncriptarCharacterIndex;
const indiceCaracterCifrado = sumaIndices % 26;
const caracterSalidaCifrado = ALFABETO[indiceCaracterCifrado];
console.log(`${entradaTexto[i]}(${caracterEntradaPosicion}) + ${claveEncriptar[j]}(${claveEncriptarCharacterIndex}) = ${caracterEntradaPosicion + claveEncriptarCharacterIndex} % 26 = ${indiceCaracterCifrado} => ${caracterSalidaCifrado}`);
j = j === claveEncriptar.length - 1 ? 0 : j + 1;
salidaCifrada += caracterSalidaCifrado;
}
labels = document.getElementById('Texto_encriptado').innerHTML = salidaCifrada;
}
function desencriptar() {
var clave = "elefante"
//let salidaCifrada = document.getElementById('Texto_encriptado').textContent
let salidaCifrada = document.getElementById("texto").value
let entradaTexto = "";
let j = 0;
for (let i = 0; i < salidaCifrada.length; i++) {
const caracterSalidaCifrado = salidaCifrada[i];
const caracterSalidaCifradoIndex = ALFABETO.indexOf(caracterSalidaCifrado);
if (caracterSalidaCifradoIndex === -1) {
entradaTexto += caracterSalidaCifrado;
continue;
}
const caracterClave = clave[j];
const claveCaracterCifrado = ALFABETO.indexOf(caracterClave);
const sumaIndices = caracterSalidaCifradoIndex - claveCaracterCifrado + 26;
const indiceCaracterCifrado = sumaIndices % 26;
const caracterCifrado = ALFABETO[indiceCaracterCifrado];
j = j === clave.length - 1 ? 0 : j + 1;
entradaTexto += caracterCifrado;
}
labels = document.getElementById('Texto_encriptado').innerHTML = entradaTexto;
}
function copiar() {
var textoCopiado = document.getElementById("Texto_encriptado").textContent;
navigator.clipboard.writeText(textoCopiado);
alert("Se copió al portapapeles: " + textoCopiado);
}