Bueno, hace unos días estaba medio aburrido tratando de encontrarle la existencia al universo(No tenía internet) y me llegó una idea de cómo se encriptaban textos. Al toque la deseché porque soy un pajero.
Luego, cuando el internet volvió, me vi con un video muy interesante sobre la llamada "Enigma Machine" que utilizaron los Nazis en la WW2.
(Recomiendo verlo, es muy bueno)
Pues al verlo, me dio algunas ideas de cómo podría llevar a cabo este metodo de encriptación, quizá no de tan avanzada manera, pero sí algo válido.
Así que me puse a idear algo parecido, hasta que hallé una forma simple pero a su vez, dificil de romper para hacerlo.
(Para ir directo al encriptador, pulsa Ctrl+F y luego escribe "Encriptador-" sin las comillas)
La idea del algoritmo es tener una cadena base de caracteres, ejemplo:
abc="abcdefghijklmnopqrstuvwxyz";
Y esta cadena nos serviría de base para tanto encriptar como desencriptar.
El lenguaje que usé es uno simple (aparte que es de los pocos que medio puedo manejar, no juzgues (?) ) es Javascript.
En JS como en otros lenguajes, cuando trabajas con indices en cadenas de textos, estas no comienzan por el número 1, como se pensaría, comienzan por el número 0. Ejemplo:
En abc, la letra "a" no sería el índice 1, sería índice 0. Por ende,
abc[0] es igual a "a"
.
Seguro que ahora me querras putear, pero nunca está demás aclararlo.
Así que terminé haciendo esto:
-pro master skillz edition.
La idea del algoritmo es, detectar qué número usaste en el modulo y en los saltos, detectar el largo de la cadena de texto y trabajar con esos datos.
Comprobará cada letra de la cadena de texto y verá a qué indice pertenece en la variable abc, entonces, al ver en qué parte está, se moverá la cantidad de veces que hayas indicado en el modulo para obtener una letra completamente distinta. Luego aumentará el modulo según la cantidad de saltos que indicaste y seguirá con el siguiente caracter de la cadena de texto.
¿Muy complicado para entender? Acá viene mejor explicado.
Si tienes un texto que dice "hola", y en el modulo pusiste un 0 y en saltos un 1, entonces el texto será: "hpnd"
Sencillo ¿Verdad? El código para hacerlo es bastante simple también.
var auxiliar="";
var texto = textarea[0].value;
var h=modulo_1;
var saltos = parseInt(document.getElementById("saltos").value);
for(var i=0; i<texto.length; i++){
for(var v=0; v<abc.length; v++){
if(texto[i]==abc[v]){
for(var j=0; j<h;j++){
v+=1;
if(v>(abc.length-1)){
v=0;
}
}
auxiliar=auxiliar+abc[v];
console.log("Letra codificada";);
break
}
}
h+=saltos;
}
text.value = auxiliar;
TL;DR
Encripta texto y desencripta texto.
Y me dirás ¿Cómo concha se desencripta? Bueno, es fácil.
Simplemente toma el código encriptado, ve el modulo y saltos que usaste para encriptar y vuelve sobre sus pasos. ¿No tan dificil eh?
Ejemplos:
Para desencriptar no solo basta tener el código encriptado, si no que también debes de tener el modulo y los saltos, ya que sin eso siempre te dará texto random aleatorio.
Para terminar, acá está el enlace para verlo y lo prueben por ustedes mismos:
Encriptador-
CodePen
- Descargar
http://tarin.ga/gIi
Descarga
Denle buen uso. Hasta la próxima.
Modulo=14 Saltos=3
!hz/9ÍMLwJ7fíd/óvé]?D