Etiquetas

viernes, 19 de diciembre de 2014

Código de Encriptacion

public class Programa {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String cadena = "sistemas computacionales 1";
        int f = 1, c = 0, i = 0, j = 0, conta = 0;
        String Matriz[][] = new String [8][8];
        for (int k = 0; k < Matriz.length; k++) {
            for (int l = 0; l < Matriz.length; l++) {
                Matriz[k][l] = ""+(char)(8*l+(Math.random()-k));
               
            }
           
        }
        Matriz[0][0]=cadena.length()+"";
        if (cadena.length() < 64) {
            while (conta < cadena.length()) {
                if (f == 8) {
                    f = 0;
                    c++;
                } else {
                    Matriz[f][c]=""+(char)(cadena.charAt(conta)+((char)5));
                    conta++;
                    f++;
                }

            }
        }
        for (int k = 0; k < 8; k++) {
            for (int l = 0; l < 8; l++) {
                System.out.print(""+Matriz[k][l]);
               
            }
            System.out.println("");
           
        }
        f = 1;
        c = 0;
        conta=0;
        while (conta<Integer.parseInt(Matriz[0][0])) {
            if (f == 8) {
                    f = 0;
                    c++;
                     
                } else {
                    System.out.print(""+(char)(Matriz[f][c].charAt(0)-((char)5)));
                    conta++;
                    f++;
                }

           
        }
    }

}

Codigo de encriptación playfair

package playfair;

import javax.swing.JOptionPane;

public class PlayFair {

    public static void main(String[] args) {
        PalabraMatriz matriz= new PalabraMatriz("hola q pez pollo q onda gentE");
       
        matriz.pinta();
        Algoritmo algo= new Algoritmo(matriz.getMatriz());
        algo.PlayFair("Que tranzas");
        grafico g= new grafico(JOptionPane.showInputDialog(null, "Ingrese La cadena con la cual se va a encriptar", "Clave de Encriptacion", JOptionPane.DEFAULT_OPTION));
    }
   
}


public class PalabraMatriz {
   
    protected int renglon=0,fila=0,r=5,f=5;
    protected String matriz[][]= new String[r][f];

   
    public PalabraMatriz(String Palabra){
        Palabra= Palabra.toLowerCase();
        int conta=0;
        while(conta < Palabra.length()) {
            if(conta==0){
                matriz[renglon][fila]=""+Palabra.charAt(conta);
                fila++;
                conta++;
            }else if(BuscaLetra(Palabra.charAt(conta))){
                conta++;
            }else{
               
                 if(fila<5){
                    if(Palabra.charAt(conta)!=' '){
                        matriz[renglon][fila]=""+Palabra.charAt(conta);
                        fila++;
                        conta++;
                    }else{
                        conta++;
                    }
                }else{
                    renglon++;
                    fila=0;
                }
            }
        }
        RellenaAbc();
       
    }
 
    protected boolean BuscaLetra(char letra){
        boolean bandera=false;
        int fi=fila;
        for (int recorre = 0; recorre <= renglon; recorre++) {
            if(renglon>=1){
                fi=5;
            }
            if(bandera==false){
            for (int fil = 0; fil < fi; fil++) {
                if(matriz[recorre][fil]!=null){
                    char val=matriz[recorre][fil].charAt(0);
                    int v=val;
                    char l=letra;
                    int let = l;
                    if(v==let){
                        bandera=true;
                        break;
                    }else{
                        bandera=false;
                    }
                }else{
                    break;
                }
            }
            }else{
                break;
            }
        }
        return bandera;
    }
    protected void RellenaAbc(){
        int num=97;
        char let=(char)num;
        while (num<=123) {
            if(fila==f){
                fila=0;
                renglon++;
            }else if(BuscaLetra(let)){
                let=(char)(num++);
            }else{
                if(let=='v'){
                 matriz[renglon][fila]=""+let;
                 let= (char)(num++);
                }else if(let=='w'){
                    matriz[renglon][fila]=matriz[renglon][fila]+"/"+let;
                    let= (char)(num++);
                    fila++;
                }else if(let=='n'){
                    matriz[renglon][fila]=""+let+"/ñ";
                    let= (char)(num++);
                    fila++;
                }else{
                matriz[renglon][fila]=""+let;
                let= (char)(num++);
                fila++;
                }
            }
           
        }
       
    }
    public String[][] getMatriz(){
        return matriz;
    }
    public void pinta(){
        for (int i = 0; i <5; i++) {
            for (int j = 0; j <5; j++) {
                System.out.print(" "+matriz[i][j]);
            }
            System.out.println("");
           
        }
    }
   
}


import java.util.StringTokenizer;

public class Algoritmo {

    protected String[][] Matriz;

    public Algoritmo() {
    }

    Algoritmo(String Matriz[][]) {
        this.Matriz = Matriz;
    }

    public String PlayFair(String cadena) {
        String letraP, letraS, letra = "", letras = "";
        StringTokenizer token = new StringTokenizer(cadena.toLowerCase());
        while (token.hasMoreTokens()) {
            letra += token.nextToken(" ");
        }
        int conta1 = 0, conta2 = 1;
        if ((letra.length() % 2) == 0) {
            while (conta1 < letra.length()) {
                letraP = letra.charAt(conta1) + "";
                letraS = letra.charAt(conta2) + "";
                for (int i = 0; i < Matriz.length; i++) {
                    for (int j = 0; j < Matriz.length; j++) {
                        if (Matriz[i][j].equals(letraP)) {
                            for (int k = 0; k < Matriz.length; k++) {
                                for (int l = 0; l < Matriz.length; l++) {
                                    if (Matriz[k][l].equals(letraS)) {
                                        if (i == k) {
                                            if (i == 7) {
                                                letras += Matriz[0][j] + Matriz[k + 1][l]+" ";
                                            } else if (k == 7) {
                                                letras += Matriz[i + 1][j] + Matriz[0][l]+" ";
                                            } else {
                                                letras += Matriz[i + 1][j] + Matriz[k + 1][l]+" ";
                                            }
                                        } else if (j == l) {
                                            if (j == 7) {
                                                letras += Matriz[i][0] + Matriz[k][l + 1]+" ";
                                            } else if (l == 7) {
                                                letras += Matriz[i][j + 1] + Matriz[k][0]+" ";
                                            } else {
                                                letras += Matriz[i][j + 1] + Matriz[k][l + 1]+" ";
                                            }
                                        } else if (i != k && j != l) {
                                            letras += Matriz[i][l] + Matriz[k][j]+" ";
                                        }
                                    }

                                }

                            }

                        }

                    }

                }
                conta1 += 2;
                conta2 += 2;
            }
            return "El mensaje Encriptado es: "+letras+". La cadena ingresada es: "+cadena;
        } else {
            return "Ingrese una cadena par ";
        }
    }
}

import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JOptionPane;

public class grafico extends JFrame implements ActionListener, KeyListener {

    private JLabel Et = new JLabel("Ingrese la Cadena de a encriptar");
    private JTextField Texto = new JTextField();
    private JButton btn = new JButton("Aceptar");
    protected String Clave;
    protected PalabraMatriz matriz;
    protected Algoritmo algo;
       

    grafico(String Palabra) {
        Clave = Palabra;
        setBounds((Toolkit.getDefaultToolkit().getScreenSize().height / 2) - 5, (Toolkit.getDefaultToolkit().getScreenSize().width / 2) - 400, 250, 170);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(null);
        Et.setBounds(20, 10, 350, 20);
        Texto.setBounds(45, 40, 150, 20);
        btn.setBounds(70, 70, 100, 30);
        add(Texto);
        add(Et);
        add(btn);
        btn.addActionListener(this);
        setVisible(true);
       
        matriz= new PalabraMatriz(Clave);
        algo= new Algoritmo(matriz.getMatriz());
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==btn){
            JOptionPane.showMessageDialog(null, algo.PlayFair(Texto.getText()), "Encriptado", JOptionPane.PLAIN_MESSAGE);
           
        }
    }

    @Override
    public void keyTyped(KeyEvent e) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void keyPressed(KeyEvent e) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void keyReleased(KeyEvent e) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

}


martes, 14 de febrero de 2012

Primer Programa en NetBeans

Primero abrimos NetBeans:
Ahora crearemos un proyecto nuevo:
  Ya que le dimos click aparecera un cuadro de dialogo preguntando que clase de proyecto queremos crear, nosotros crearemos un proyecto java Application:

jueves, 9 de febrero de 2012

Como Compilar Desde el Símbolo del Sistema

Lo primero que tenemos que hacer es conseguir un editor de texto como:
block de notas: viene incluido en windows
o notepad ++: el cual lo pueden descargar desde http://notepad-plus-plus.org/download/v5.9.8.html
Ya descargado lo instalan:
No hay ningún problema si trabajan en block de notas o  notepad ++ todo lo que se va a hacer es igual en cual quiera de los dos editores de texto. Esta vez trabajare en notepad ++.
Abrimos el notepad ++:
Ahora creamos una clase la cual se va a llamar HolaMundo
Después de haber credo la clase crearemos nuestro método main dentro de nuestra clase:
ya creado el método main imprimiremos el texto Hola Mundo el cual debe de estar a dentro del método main:
Bueno ahora ya hecho el programa lo guardamos con el nombre de HolaMundo.java ya que si lo guardamos con otro nombre el compilador nos va a marcar error ya que el nombre de la clase no coincide:

El documento lo guarde en el escritorio para que fuera mas rápido.

Ahora abrimos el simbolo del sistema o el cmd para poder compilar el archivo, escribimos dir para saber si es escritorio o Desktop:

Ya que sabemos que es Desktop escribimos cd Desktop para movernos a la carpeta del escritorio:
Así debe de quedar la ruta del símbolo del sistema o cmd:
Ahora ponemos javac HolaMundo.java para poder compilar nuestro programa:
Ya compilado el programa nos va a crear un nuevo archivo con el mismo nombre pero  es .class:
Para poder ejecutarlo en el cmd o símbolo del sistema escribimos java HolaMundo:
Al correr el programa queda así: