Subscribe:

Labels

lunes, 28 de mayo de 2012

Cifrador y Descifrador del método Polybios en Java

¿Hola cómo están...?
Bueno, éste post será el comienzo de una serie pequeña de métodos de encriptación, ejemplos básicos, sencillos, OJO: básicos y sencillos, la sesión de hoy vamos a ver un método algo interesante (Polybios); bueno los conceptos básicos imagino ya la conocen; pero en unas pocas palabras voy a resumirlo.
Para cifrar la letra "S" en cualquiera de las dos tablas; le corresponden la columna y fila que hacen que al intersectarse generan dicha letra, para nuestro caso en la primera tabla sería "DC" y en la segunda sería "43".

Para la simplicidad del caso; vamos a trabajarlo en Consola; ya Uds. pueden hacerle una interfaz y trabajar con ella; 

Bueno vamos con el caso; primero veamos la estructura de carpetas con las que contará nuestro proyecto, ProyectoEncriptacionSI


Como se muestra los paquetes y las respectivas clases que contiene:
Pasamos a ver las clases CifradorPolybios.java y DescifradorPolybios.java así como también la clase Polybios.java.

CifradorPolybios.java: Que será la encarga de cifrar las letras que se le envíe:


DescifradorPolybios.java: La cual se encargará de descifrar las letras que se le envíe:


Polybios.java: Quien se encargará de gestionar el cifrado y descifrado:


y claro la clase Pruebas.java donde veremos algunas comprobaciones de nuestro encriptador:

Al ejecutar ésta última clase nos deberá mostrar algo como lo siguiente:


Bueno eso es todo por el momento, espero sus dudas y/o sugerencias; gracias!!

Ahhhhhhh y por favor si el material te fue útil ayúdame recomendando por las redes sociales; dando "Me gusta" en Javaenaccion en Facebook o "+1" en Google+, etc etc. en :D.

3 comentarios:

Xtreme dijo...

Hola si quisiera utilizar este metodo pero para que cuando un usuario ingrese su contraseña en un JPasswordfield y este mismo sea consultado con la base de datos para ser validado como serìa?? por favor pudieras ayudarme.

Gracias!!

Roger Soto dijo...

Hola, buen día... ¿¿pongamos un ejemplo te parece?? mira en este caso cuando un usuario se registra (por llamarlo así en tu sistema) lo que se guarda en la BD no es en si misma la contraseña (por ejemplo "abcdef") sino la que se guarda es; la contraseña pero encriptada (por ejemplo que su encriptación sea "passencriptado"). Y ya después de haberse registrado ese mismo usuario decide iniciar sesión, tendrá que validarse como mencionas, el usuario igresará "abcdef" en el JPasswordField ¿verdad? pero la a la hora de comprobar si son o no correctos los datos tu sistema tendrá que encriptar primero lo que ha ingresado el usuario y recién después de ello, comparar con lo que se ha guardado en la BD.

Osea a fin de cuentas:
Cuando el usuario se registró ingresó en el JPasswordField "abcdef" pero se guardo encriptada como "passencriptado".

Cuando inicia sesión ingresará nuevamente "abcdef" y el programa primero encripta el dato en "passencriptado" y luego recién comprueba con el de la BD.

y bueno inicia sesión, osea logra validarlo.

Ahora me pongo al caso de que estás haciendo pruebas simples, y quieres comprobar la funcionalidad de tu sistema (osea que tu sistema aún no registra usuarios); entonces lo que tienes que hacer es simplemente ingresar usuarios a tu BD y claro las contraseñas las tienes que primero encriptar y luego guardarlas. Y lo siguiente ya es lo de arriba, que el usuario ingrese su password en el JPasswordField y el sistema encripta el password y luego comprueba con la que está en la BD.

Disculpa si escribí mucho y dije poco; si aún tienes dudas no dudes en escribir.

y Gracias a ti por hacerme llegar tus dudas...

Nos vemos, saludos.!!

Pepe dijo...

Parece que no se publico ... digo que es brutal tu trabajo pero me encuantro en que no puedo usar este codigo no se si he de usar todo en un unico scrip .... la cosa es que por separado no me muestra nada.

Todo en Infolinks