Hola amigos hoy les traigo un codigo que pase de Python a Javascript.
Se trata del Código Caesar, basta con copiar el código en un archivo con terminación ".html" por ejemplo codigo_caesar.html y ejecutarlo con el navegador verán algo como esto:
Fuente Captura de pantalla....
Un ejemplo codificando:
Ahora vamos a decodificar eso mismo:
El código que he pasado de python a Javascript es este:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
abc = 'abcdefghijklmnopqrstuvwxyz_'
def cifrar(cadena, clave):
text_cifrado = ''
for letra in cadena:
suma = abc.find(letra) + clave
modulo = int(suma) % len(abc)
text_cifrado = text_cifrado + str(abc[modulo])
return text_cifrado
def decifrar(cadena, clave):
text_cifrado = ''
for letra in cadena:
suma = abc.find(letra) - clave
modulo = int(suma) % len(abc)
text_cifrado = text_cifrado + str(abc[modulo])
return text_cifrado
def main():
c = str(raw_input('cadena a cifrar: ')).lower()
n = int(raw_input('clave numerica: '))
print cifrar(c,n)
cc = str(raw_input('cadena a decifrar: ')).lower()
cn = int(raw_input('clave numerica: '))
print decifrar(cc,cn)
if __name__ == '__main__':
main()
El cual pueden encontrar en este mismo Blog y aquí en mi antiguo blog:
https://stickybitshell.wordpress.com/2015/03/14/mejorando-un-poco-el-codigo-caesar-con-python/
Y bueno este es el código en Javascript:
<html>
<body>
<H1> Criptografia en Javascript </H1>
<H2> Codigo Caesar </H2>
<textarea id="cadena"></textarea>
<div>
Valor númerico<input type="number" id="clave">
</div>
<div class="control-row">
Que Hacer?:
<select id="TipeCode">
<option value="5"></option>
<option value="0">codificar</option>
<option value="1">DECODIFICAR</option>
</select>
</div>
<button type="button" onclick="myFunction()">Ejecutar</button>
<div id="resultado"></div>
</body>
<head>
<meta charset="utf-8">
<script>
function myFunction() {
var TipeCode = document.getElementById("TipeCode").value;
var cadena = document.getElementById("cadena").value;
var clave = document.getElementById("clave").value;
var doStaff = function (cadena, clave, TipeCode) {
cadena = cadena.toLowerCase()
var resultado = ""
var abc = 'abcdefghijklmnopqrstuvwxyz '
var longitud = abc.length;
for (var i = 0; i < cadena.length; i++) {
if (TipeCode == 0) {
var indice = abc.indexOf(cadena[i]) ;
var indice_char = parseInt(indice) + parseInt(clave) ;
var resto = indice_char % longitud
var nueva_letra = abc[resto]
resultado += nueva_letra
} else if (TipeCode == 1) {
var indice = abc.indexOf(cadena[i]) ;
var indice_char = parseInt(indice) - parseInt(clave) ;
var resto = (indice_char % longitud )
if (resto == 0) {
resto = 0
}else if (resto <= 0) {
resto = (indice_char % longitud ) + longitud
} else if ( resto >= 27 ){
resto = (indice_char % longitud ) - longitud
}
console.log("DATOS BRUTOS : ", resto, indice_char, indice )
var nueva_letra = abc[resto]
resultado += nueva_letra
}
}
console.log(resultado)
return resultado
};
var resultado = doStaff(cadena, clave, TipeCode)
document.getElementById("resultado").innerHTML=doStaff(cadena, clave, TipeCode);
}
</script>
<style>
textarea {width:400px;}
</style>
</head>
</html>
Este código lo iré explicando en la próxima entrada, Feliz Noche :D
Dios bendiga a Venezuela
Estoy pasando mucho de mi código de Python a Javascript por que se hace mas fácil el testeo por ustedes, ya que mi principal interés es serles útil, saludos :D