This repository was archived by the owner on Jan 8, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 116
Expand file tree
/
Copy pathapp.js
More file actions
61 lines (55 loc) · 2.21 KB
/
app.js
File metadata and controls
61 lines (55 loc) · 2.21 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
var election = prompt('Elija una de las opciones de cifrado: ' + '1 cifrar ' + '2 decifrar');
if (election === '1') {
cipher(prompt('Ingresa un texto a cifrar'));
} else if (election === '2') {
decipher(prompt('Ingresa un texto a decifrar'));
} else if (election === '') {
alert('No es valido un campo vacio');
}
function cipher(string) {
if (string === '') {
alert('No se permiten campos vacios.');
}
var StringCode = '';
for (i = 0; i < string.length; i++) {
var NewASCII = string.charCodeAt(i); // devolvera el numero de i en codigos Unicode ASCII
// MAYUSCULAS....
if (NewASCII >= 65 && NewASCII <= 90) { // Rango para solo las mayusculas
var anAletter = (NewASCII - 65 + 33) % 26 + 65;
// devuelve el valor/numero del codigo ASCII pero al ser rango de 65 a 90 esta pertenece a MAYUSCULAS.
var newletterAlpha = String.fromCharCode(anAletter);
// obtiene el valor numero de anAletter y con el fromCharCode imprime la letra.
StringCode += newletterAlpha;
// une letra por letra dentro del StringCode.
// MINUSCULAS.....
} // en caso contrario si es minuscula entrara en el rango de 97 - 122
// dentro del rango ASCII
else if (NewASCII >= 97 && NewASCII <= 122) {
// en este caso la formula cambia ya que estamos agarrando el rango desde 97.
var minusLetter = (NewASCII - 97 + 33) % 26 + 97;
var newMinusLetter = String.fromCharCode(minusLetter);
StringCode += newMinusLetter;
}
}
// retorna StringCode para solo imprimir el resultado de este punto, para el cifrado.
return alert(StringCode);
}
function decipher(string) {
if (string === '') {
alert('No se permiten campos vacios.');
};
var StringCode = '';
for (i = 0; i < string.length; i++) {
var NewASCII = string.charCodeAt(i);
if (NewASCII >= 65 && NewASCII <= 90) {
var anAletter = (NewASCII + 65 - 33) % 26 - 65;
var newletterAlpha = String.fromCharCode(anAletter);
StringCode += newletterAlpha;
} else if (NewASCII >= 97 && NewASCII <= 122) {
var minusLetter = (NewASCII + 97 - 33) % 26 - 97;
var newMinusLetter = String.fromCharCode(minusLetter);
StringCode += newMinusLetter;
}
}
return alert(StringCode);
}