Entrada destacada

jueves, 28 de mayo de 2020

Código del César | Caesars Code | Cifrado

Mientras revisaba unos programas el día de hoy me di cuenta de que tenía uno llamado "código del César", realmente no recordaba qué cosa era, pero al momento de ejecutarlo me llevé la sorpresa de que fue uno de los primeros programas de cifrado que hice.
Me llamó la atención que su funcionamiento, y no por la complejidad, sino lo contrario, se me hizo sencillo querer pasarlo a de C# a Javascript con HTML.


Caesar cipher - Wikipedia


Para no hacer el cuento largo comenzaré con un fundamento de este programa, lo hice durante un tema relacionado a la seguridad informática y eso de las contraseñas seguras. Actualmente existen muchísimos métodos de cifrado e inventar uno algoritmo eficiente que pueda hacer esto es muy bien remunerado, sin embargo es muy complejo, por ello si piensas inventar el tuyo, analizar los cifrados más complejos que existen y date cuenta por ti mismo en lo que te estás metiendo.

El cifrado ha tenido lugar desde todos los tiempos, pues es una manera de comunicarse con seguridad sin que los intrusos se den cuenta de lo que estás transmitiendo y si lo hacen no puedan conocer la información que oculta el mensaje. El mismo idioma podríamos decir que es una manera de cifrado y el traductor o el conocimiento de ese idioma sería nuestro descifrador. Es complejo entenderlo de otra manera, pero uno de los ejemplos más claros es la clave morse, de la cual seguramente has oído muchísimo, sobre todo en las películas de guerra.

Para algo así el César inventó su código, él quería comunicarse pero sin que el mensaje pudiera leerlo cualquiera, sino solo las personas que conocían el código.
Por lo que recuerdo él únicamente escribió el abecedario y los números del 0 al 9, los colocó en una línea, y bajo ellos escribió lo mismo; luego de ello decidió que su llave, por llamarla de alguna manera, sería la palabra izquierda o derecha y un número, lo que significaba que hacia donde la palabra indicara, el abecedario se recorrería y así ocultaría el mensaje.

Ejemplo: Al aplicarle un izquierda 2

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9

C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 A B


Como puedes observar la A y la B estarían representando a los números 8 y 9 respectivamente, y bueno, todas las demás letras representan otras entre sí. Mentes brillantes desde todos los tiempos, pero con hambre de poder.



Explicación:

Bien, para esto únicamente debemos tener en cuenta 2 arreglos idénticos de tipo char que nos ayuden a guardar los datos que queremos, es decir los abecedarios. Además, también considerar la variable booleana que represente la izquierda o la derecha y por supuesto el entero que nos indicará hacia dónde debemos recorrer nuestro abecedario cifrado.

Sabiendo todos estos datos ya se puede programar algo excelente en cualquier lenguaje, usaré Javascript para no necesitar de un compilador para poder ver los resultados y dejarles el código ejecutándose en esta entrada. 

"Al César lo que es del César y a Dios... que te vaya bien."



Normal
Código

¡DESCARGA FAST!

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Comenta, opina, exprésate y déjame saber si quieres algo específico, si algo está mal o si no te gusta algo, para hacer que te guste.

Clic a la imagen para descargar el código en Javascript y en C#:

sábado, 9 de mayo de 2020

Reloj analógico y digital con Javascript | Código genérico

Estuve paseándome por mis programas que solía desarrollar en proyectos de la escuela y me topé con que programé un reloj en C#, para ello utilicé GDI (librería Graphics), pues el reloj no solo mostraba la hora, sino que también ilustraba un reloj analógico.

Bueno, para ello debemos saber primero lo que es un reloj analógico, quizá para este tiempo tú seas alguien que creció viendo todo digital, y no conozcas los relojes de manecillas. Te explico, antes de que la era digital llegara todo era muy retro, había teléfonos muy grandes, las televisiones tenían una gran caja detrás que no era nada más y nada menos que el resto del televisor, exacto, ahora imagina un reloj antiguo ¿cómo podrías ver la hora sin números dinámicos en una pantalla?, la respuesta es con manecillas.
Reloj Analógico - Gráficos vectoriales gratis en Pixabay

Creo que estoy exagerando, tal vez no sea tan retro, mucha gente actualmente los usa y se ven cool, si lo haces no te sientas ofendido, yo también en algún momento de mi vida usé uno.
En fin, ahora ya sabemos qué es un reloj analógico, aunque creo que ya lo sabíamos desde siempre.

¿Qué se debe saber?
  1. Las manecillas giran formando una circunferencia.
  2. El giro de cada manecilla es hacia su izquierda, si vemos de frente un reloj es hacia nuestra derecha.
  3. Consta de 3 manecillas, horas, minutero y segundero (yo llegué a llamarle "horero" a la de las horas, no sé cómo se llame).
  4. Las horas son 12 puntos, los minutos y los segundos son 60, sin embargo cada que pasa un minuto el apuntador de horas avanza ligeramente, acercándose a la próxima hora, así que también son 60 disfrazados de 12.
  5. Debe reiniciar cada que llega a 360°, y debe actualizarse en cada momento para que se vea la hora en punto y sin interferencias o variaciones.
Creo que con todas estas especificaciones ya estamos listos para programar algo agradable.
La lógica viene impregnada en el código, tú solo debes verlo perfectamente y sacar tus conclusiones, espero que sea de tu agrado. El código está abajo como siempre.

Relojcito

Your browser does not support the HTML5 canvas tag.


¡DESCARGA FAST!

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Comenta, opina, exprésate y déjame saber si quieres algo específico, si algo está mal o si no te gusta algo, para hacer que te guste.

Clic a la imagen para descargar el código en Javascript: