El Cifrado César en Java

En criptografía, el cifrado César, también conocido como cifrado por desplazamientocódigo de César o desplazamiento de César, es una de las técnicas de cifrado más simples y más usadas. Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sería sustituida por la D (situada 3 lugares a la derecha de la A), la B sería reemplazada por la E, etc. Este método debe su nombre a Julio César, que lo usaba para comunicarse con sus generales. – Wikipedia

Hola estimado lector, hoy tenía ganas de hacer un reto de criptografía, lo dí en el FP de grado medio hace algunos años, en aquellos años yo tenía 21 años, hoy por hoy me falta poco para cumplir la trentena, lo cual me trae muchos recuerdo de Juan Miguel, dando esto en clase allá por el 2011.

Y es que decir que este tipo de criptografía no vale nada, y que lo cómodo es utilizar frameworks que te hacen el trabajo ya hecho, pero como diría una profesora mía, antes de saber multiplicar, hay que saber sumar (o al menos saber cómo se hace, añado yo).

Por ello hoy traigo este algoritmo de César, ha sido bastante entretenido de hacer, espero que lo disfrutéis, probéis y experimenteis, ya que es la única forma de aprender, que vaya bien, chao…

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javacesar;

/**
 *
 * @author usuario
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        //VARIABLES NORMALES
        String abcMin = «abcdefghijklmnñopqrstuwxyz»;
        String abcMay = new String(abcMin);
        String numeros = «0123456789»;
        abcMay = abcMay.toUpperCase();

        String[] arrAbcMin = abcMin.split(«»);
        String[] arrAbcMay = abcMay.split(«»);
        String[] arrNum = numeros.split(«»);

        //VARIABLES CESAR
        String abcMinCes = «cdefghijklmnñopqrstuwxyzab»;
        String abcMayCes = new String(abcMinCes);
        String numerosCes = «2345678901»;
        abcMayCes = abcMayCes.toUpperCase();

        String[] arrAbcMinCes = abcMinCes.split(«»);
        String[] arrAbcMayCes = abcMayCes.split(«»);
        String[] arrNumCes = numerosCes.split(«»);

        String mensaje = «TomHard Computer»;
        String letraIntermedio = «»;
        String mensajeIntermedio = «»;
        
        for (int i = 0; i < mensaje.length(); i++) {
          
            if (Character.isUpperCase(mensaje.charAt(i))) {
                
                for (int e=0;e<arrAbcMay.length;e++) {//COMPRUEBO SI ES MAYUSCULA
                    if (arrAbcMay[e].equals(mensaje.charAt(i)+»»)){
                        mensajeIntermedio=mensajeIntermedio+arrAbcMayCes[e];
                    }
                   
                }
              

            }else if(Character.isLowerCase(mensaje.charAt(i))){//COMPRUEBO SI ES MINUSCULA
               for (int e=0;e<arrAbcMin.length;e++) {
                    if (arrAbcMin[e].equals(mensaje.charAt(i)+»»)){
                        mensajeIntermedio=mensajeIntermedio+arrAbcMinCes[e];
                    }
                   
                }
                
            }else if(Character.isDigit(mensaje.charAt(i))){//COMPRUEBO SI ES UN NUMERO
                for (int e=0;e<arrNumCes.length;e++) {
                    if (arrNum[e].equals(mensaje.charAt(i)+»»)){
                        mensajeIntermedio=mensajeIntermedio+arrNumCes[e];
                    }
                   
                }
            
            }else{//EN CUALQUIER OTRO CASO CONCATENA CARACTER
                mensajeIntermedio=mensajeIntermedio+mensaje.charAt(i)+»»;
            }  

        }
        System.out.println(mensajeIntermedio);

    }

}

0 0 votos
Article Rating
Subscribe
Notify of
guest
0 Comments
Comentarios en línea
Ver todos los comentarios