miércoles, 17 de octubre de 2012

Cifrado y Descifrado ROT13 en java




Hoy veremos unmétodode Cifrado bastante sencillo y practico y muyútil, se trata delmétododeROTACIÓN13 otambiénllamado ROT13, veamos un pequeño concepto sobre estemétodo.

ROT13 es un método criptográfico clásico basado en el cifrado por sustitución, de su nombre se entiende “rotar 13 posiciones”. Este consiste en el desplazamiento de las letras del alfabeto latino, es decir se altera el orden, lo cual se logra sustituyendo sucesivamente cada letra por la letra que se encuentra 13 posiciones más adelante en el alfabeto.

Los números, símbolos, espacios y otros caracteres son ignorados permaneciendo en su posición original.

El siguiente es un esquema del método de cifrado ROT13.


El esquema muestra que la letra A se convierte en N, B se convierte en O, C se convierte en P y así sucesivamente hasta llegar a M que se convierte en Z. Pero la secuencia se invierte a partir de N donde este se convierte en A, O se convierte en B, P se convierte en C y así sucesivamente hasta llegar a Z que se convierte en M.

Métodopara Cifrar yDescifrar

public String ROT13(String cadena) {
char c;
StringBuilder temp = new StringBuilder(); //crea un StringBuilder para construir la cadena resultante en la variable temp

for (int i = 0 ; i cadena.length() ; i++) { //comienza el bucle para analizar los caracteres de la cadena
c = cadena.charAt(i); //obtiene el carácter de la posición actual de la cadena y se guarda en la variable c

if (c = 'A' && c 'N') { //compara c con A y N
c += 13; //si es igual o mayor que A y menor que N, se realiza un desplazamiento sumándole 13
} else if (c = 'N' && c = 'Z') { //compara c con N y Z
c -= 13; //si es igual o mayor que N e igual o menor que Z, se realiza un desplazamiento restándole 13
} else if (c = 'a' && c 'n') { //compara c con a y n
c += 13; //si es igual o mayor que a y menor que n, se realiza un desplazamiento sumándole 13
} else if (c = 'n' && c = 'z') { //compara c con n y z
c -= 13; //si es igual o mayor que n e igual o menor que z, se realiza un desplazamiento restándole 13
}

temp.append(c); //añade c en temp
}

return temp.toString(); //retornamos la variable temp, la cual contiene la cadena cifrada o descifrada
}


DESCARGAR

No hay comentarios:

Publicar un comentario