Muy buenos dias, tardes, noches (Según sea el caso) a todos los que están leyendo mi post.
Hace unos días vi en taringa un post que me gusto, a cerca de como encriptar un texto en lenguaje java.
http://www.taringa.net/post/ciencia-educacion/16512253/Encriptado-en-java-con-el-algoritmo-mas-simle.html
Basándome en este código hice un método llamado cifrar con paso de parámetro que encripte la información.
Los parámetros son:
-Información
-Palabra
Donde la información es lo que se desea cifrar y la palabra es la forma en la que se va a cifrar.
Despues estos parametros son pasados a un arreglo de caracteres (char).
Para poder movernos por los arreglos se requiere de ciclos, en este caso usare los for.
El primer for esta regido por la palabra que va a cifrar la información, el segundo esta regido por la información.
El cifrado se realiza de la siguiente forma.
Primero se escribe el arreglo de información, que es el que queremos cifrar en la posición j-esima.
Lo igualamos con si mismo seguido de una -, +. en este caso sumo.
Después el arreglo de palabra en la posición i-esima.
Como se puede notar en la imagen de abajo, existe un cast de char, esto se debe a que los índices de cada arreglo lo que contienen, deben ser tratados como numeros, no como letras.
Simplemente no se va a poder realizar una operación aritmética con palabras, es por ello que es necesario el cast.
Prácticamente el proceso para cifrar es:
La dimensión de palabra es el numero de veces por el que se cifra información, a su vez de que información se actualiza en cada ciclo.
Por este mismo efecto el proceso de cifrado es mas lento conforme palabra sea mas grande,
pero hace que la información se proteja de mejor manera, si palabra es pequeña el proceso seria mas rápido pero información seria mas vulnerable.
Solo falta retornar el arreglo de información y listo.
Para el método de descifrar se requiere únicamente de la operación aritmética inversa utilizada en el método cifrar, si no quedo claro la imagen lo dice todo.
Y antes de dar por terminado el post les dejo una imagen que muestra como funciono el metodo desde consola
Imagen de clase principal.
Imagen de consola.
Imagen de consola con un poema de Pablo Neruda.
A pesar de que en la imagen anterior existe mas datos, el cifrado no sale erróneo por lo siguiente.
Si una letra se trata como un char, este se comporta como un numero entero, entonces:
si las letras a = 97
b = 98
c = 99
d = 100
La suma de 2 o mas de 2 da como resultado otra letra.
se tiene a + b = 195 = Ã
Tal que obedece a las propiedades del conjunto de Z (números enteros)
cerradura: a + b pertenecen a Z;
Conmutativa: a + b = b + a
asociativa: a + (b + c) = (a + b) + c
para: a + b + c + d = 394 = Ɗ
o: a + d + b + c = 394 = Ɗ
De aquí mismo la división no puede ser utilizada debido a que no se cumple la propiedad
de la cerradura y en efecto la multiplicación.
Espero que este post sea de utilidad a alguno de ustedes, muchas gracias por pasar a echar un vistazo y recuerda, si piensas utilizar estos métodos en algún proyecto escolar, comercial, etc.
Nunca olvidar a palabra,
hasta la próxima.