Cifradi vigenere
Enviado por anagr26 • 3 de Abril de 2018 • Tutorial • 1.871 Palabras (8 Páginas) • 137 Visitas
package _vigenere_;
public class Vigenere extends javax.swing.JFrame {
private String tabla = "abcdefghijklmnñopqrstuvwxyzáéíóúABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ1234567890.,;_:+-*/ @$€#¿?!¡=()[]{}\\\"";
public Vigenere() {
initComponents();
setLocationRelativeTo(this);
}
private String Limpiar_texto(String texto)
{
texto = texto.replaceAll("\n", "");
for(int x = 0; x < texto.length(); x++)
{
int posicion = tabla.indexOf(texto.charAt(x));
if (posicion == -1)
{
texto = texto.replace(texto.charAt(x), ' ');
}
}
return texto;
}
public String Encriptar(String texto,String clave)
{
String texto_limpioo = Limpiar_texto(texto);
String cifrado = "";
for(int t = 0,k= 0; t < texto_limpioo.length(); t++,k= (k+1) % clave.length())
{
int posicion = (tabla.indexOf(texto_limpioo.charAt(t)) + tabla.indexOf(clave.charAt(k))) % tabla.length();
cifrado += tabla.charAt(posicion );
}
return cifrado;
}
public String Desencriptar(String texto,String clave )
{
String texto_limpioo = Limpiar_texto(texto);
String descifrado = "";
for(int t = 0, c = 0; t < texto_limpioo.length(); t++, c = (c +1) % clave .length())
{
int posicion = (tabla.indexOf(texto_limpioo.charAt(t)) - tabla.indexOf(clave.charAt(c)));
posicion = (posicion < 0)?(posicion + tabla.length()): posicion;
descifrado += tabla.charAt(posicion);
}
return descifrado;
}
//
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
area_salida = new javax.swing.JTextArea();
jScrollPane2 = new javax.swing.JScrollPane();
area_entrada = new javax.swing.JTextArea();
boton_encriptar = new javax.swing.JButton();
boton_desencriptar = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
campo_clave = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
area_salida.setColumns(20);
area_salida.setRows(5);
jScrollPane1.setViewportView(area_salida);
area_entrada.setColumns(20);
area_entrada.setRows(5);
jScrollPane2.setViewportView(area_entrada);
boton_encriptar.setText("Encriptar");
boton_encriptar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
boton_encriptarActionPerformed(evt);
}
});
boton_desencriptar.setText("Desencriptar");
boton_desencriptar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
boton_desencriptarActionPerformed(evt);
}
});
jLabel1.setText("Introduzca clave");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2)
.addComponent(jScrollPane1)
.addGroup(layout.createSequentialGroup()
.addComponent(boton_encriptar, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
...