elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Manejo eventos en Java.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Manejo eventos en Java.  (Leído 2,123 veces)
konarr

Desconectado Desconectado

Mensajes: 65


. . .


Ver Perfil
Manejo eventos en Java.
« en: 6 Octubre 2012, 20:27 pm »

Buenas, quiero realizar un programa que cifre el texto ingresado a MD5, esto en un entorno gráfico utilizando Netbeans, el "modelo" ya lo tengo, en la siguiente imagen queda todo mas claro.
http://ompldr.org/vZnMxZQ
Hasta el momento solo puedo hacer que lo que se ingresa pase a donde debiera estar el texto cifrado en MD5, esto lo hago creando el evento en el jButton "convertir" con el siguiente código
Código
  1. md5Text.setText(ingresoTexto.getText());
.
El problema es que no se como ni donde poner el código para cifrar de texto a MD5, si hacerlo a continuación de
Código
  1. md5Text.setText(ingresoTexto.getText());
. o en una clase aparte y crear instancias y llamarlas dentro de la clase "ventana".

como se puede ver tengo 3 clases,
- "Cifrados" que es la main, y que solo tengo el siguiente código
Código
  1. package cifrados;
  2. public class Cifrados {
  3.  
  4.    public static void main(String[] args) {
  5.  
  6.        ventana instancia = new ventana();
  7.        instancia.setVisible(true);
  8.    }
  9. }
.
- "Prueba" que es donde tengo el código que hace el trabajo de convertir a MD5, que lo dejo acá
Código
  1. package cifrados;
  2. import java.security.MessageDigest;
  3. import java.security.NoSuchAlgorithmException;
  4.  
  5. public class prueba {
  6.    public static String md5 = "MD5";
  7.  
  8.    private static String toHexadecimal(byte[] digest){ //array digest == digerir
  9.        String hash = "";
  10.        /*":", no es usado como operador,
  11.         que se utilizará para iteración a través de la matriz de la matriz denominada "digest"
  12.         #se conserva la variable aux e itera el array digest
  13.     * Convierte un arreglo de bytes a String usando valores hexadecimales
  14.     * @param digest arreglo de bytes a convertir
  15.     * @return String creado a partir de digest
  16.     */
  17.        for(byte aux : digest){
  18.            int b = aux & 0xff;
  19.            if(Integer.toHexString(b).length() == 1) hash += "0";
  20.            hash += Integer.toHexString(b);
  21.        }
  22.        return hash;
  23.    }
  24.    /***
  25.     * cifra un mensaje de texto mediante algoritmo de resumen de mensaje.
  26.     * @param message texto a cifrar
  27.     * @param algorithm algoritmo de encriptacion, MD5
  28.     * @return mensaje cifrado
  29.     */
  30.    public static String getStringMessageDigest(String message, String algorithm){
  31.        byte[] digest = null;
  32.        byte[] buffer = message.getBytes();
  33.        try{
  34.            MessageDigest messageDigest = MessageDigest.getInstance(algorithm);
  35.            messageDigest.reset();
  36.            messageDigest.update(buffer);
  37.            digest = messageDigest.digest();
  38.        }catch(NoSuchAlgorithmException ex){
  39.            System.out.println("Error creando Digest");
  40.        }
  41.        return toHexadecimal(digest);
  42.    }
  43.    public static void main(String[] args) {
  44.  
  45.        String mensaje = "Esto no es una prueba de MD5";
  46.        System.out.println("Mensaje = " + mensaje);
  47.        System.out.println("MD5 = " + prueba.getStringMessageDigest(mensaje, prueba.md5));
  48. }

- "ventana" que es donde tengo el entorno gráfico, con el siguiente código.
Código
  1. package cifrados;
  2. import java.security.MessageDigest;
  3. import java.security.NoSuchAlgorithmException;
  4. import javax.swing.JOptionPane;
  5. import cifrados.prueba;
  6.  
  7. public class ventana extends javax.swing.JFrame {
  8.    public ventana() {
  9.        initComponents();
  10.    }                      
  11.    private void initComponents() {
  12.  
  13.        jLabel1 = new javax.swing.JLabel();
  14.        ingresoTexto = new javax.swing.JTextField();
  15.        convertir = new javax.swing.JButton();
  16.        jLabel2 = new javax.swing.JLabel();
  17.        md5Text = new javax.swing.JTextField();
  18.  
  19.        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  20.  
  21.        jLabel1.setText("Ingrese Texto");
  22.  
  23.        ingresoTexto.setText("jTextField1");
  24.  
  25.        convertir.setText("Convertir");
  26.        convertir.addActionListener(new java.awt.event.ActionListener() {
  27.            public void actionPerformed(java.awt.event.ActionEvent evt) {
  28.                convertirActionPerformed(evt);
  29.            }
  30.        });
  31.  
  32.        jLabel2.setText("MD5");
  33.  
  34.        md5Text.setText("jTextField2");
  35.  
  36.        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  37.        getContentPane().setLayout(layout);
  38.        layout.setHorizontalGroup(
  39.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  40.            .addGroup(layout.createSequentialGroup()
  41.                .addGap(57, 57, 57)
  42.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  43.                    .addComponent(jLabel2)
  44.                    .addComponent(jLabel1))
  45.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  46.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  47.                    .addComponent(ingresoTexto, javax.swing.GroupLayout.DEFAULT_SIZE, 434, Short.MAX_VALUE)
  48.                    .addComponent(md5Text))
  49.                .addContainerGap(34, Short.MAX_VALUE))
  50.            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  51.                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  52.                .addComponent(convertir)
  53.                .addGap(211, 211, 211))
  54.        );
  55.        layout.setVerticalGroup(
  56.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  57.            .addGroup(layout.createSequentialGroup()
  58.                .addGap(25, 25, 25)
  59.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  60.                    .addComponent(ingresoTexto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  61.                    .addComponent(jLabel1))
  62.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  63.                .addComponent(convertir)
  64.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  65.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  66.                    .addComponent(md5Text, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  67.                    .addComponent(jLabel2))
  68.                .addContainerGap(168, Short.MAX_VALUE))
  69.        );
  70.  
  71.        pack();
  72.    }
  73.    private void convertirActionPerformed(java.awt.event.ActionEvent evt) {                                          
  74.    /*creo el evento, lo que esta en "ingresoTexto" pase a "md5Text"*/
  75.        md5Text.setText(ingresoTexto.getText());    
  76. /*aca deberia ingresar el codigo de la clase "prueba" ??
  77.  o solo deberia crear una instancia de la clase "prueba" pidiendo el ingreso de datos y otra para convertir a MD5 ??*/
  78.    }                                        
  79.    public static void main(String args[]) {
  80.        try {
  81.            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  82.                if ("Nimbus".equals(info.getName())) {
  83.                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
  84.                    break;
  85.                }
  86.            }
  87.        } catch (ClassNotFoundException ex) {
  88.            java.util.logging.Logger.getLogger(ventana.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  89.        } catch (InstantiationException ex) {
  90.            java.util.logging.Logger.getLogger(ventana.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  91.        } catch (IllegalAccessException ex) {
  92.            java.util.logging.Logger.getLogger(ventana.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  93.        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  94.            java.util.logging.Logger.getLogger(ventana.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  95.        }
  96.        java.awt.EventQueue.invokeLater(new Runnable() {
  97.  
  98.            public void run() {
  99.                new ventana().setVisible(true);
  100.            }
  101.        });
  102.    }                
  103.    private javax.swing.JButton convertir;
  104.    private javax.swing.JTextField ingresoTexto;
  105.    private javax.swing.JLabel jLabel1;
  106.    private javax.swing.JLabel jLabel2;
  107.    private javax.swing.JTextField md5Text;                
  108. }
  109.  


En línea

  • como la heroína a través de las venas de un adicto, se envía un pulso electrónico.
Mi sitio -> The Bunker Øf konarr
IRC NO OFICIAL elhacker.net  ##elhacker
http://webchat.freenode.net/?channels=%23%23elhacker
konarr

Desconectado Desconectado

Mensajes: 65


. . .


Ver Perfil
Re: Manejo eventos en Java.
« Respuesta #1 en: 6 Octubre 2012, 23:28 pm »

Lo tengo, la solución es  crear una instancia de la clase donde se encuentra el código para cifrar a md5, esta instancia se crea dentro del evento que crea el jButton, osea, quedaría así
Código
  1. private void convertirActionPerformed(java.awt.event.ActionEvent evt) {                                          
  2.    /*lo que esta en "ingresoTexto" pase a "md5Text"*/
  3.        prueba2 md5 = new prueba2();        
  4.        md5Text.setText(md5.encriptaEnMD5(ingresoTexto.getText()));
  5. }

me estaba ahogando en mi propio vaso de cerveza agua.


En línea

  • como la heroína a través de las venas de un adicto, se envía un pulso electrónico.
Mi sitio -> The Bunker Øf konarr
IRC NO OFICIAL elhacker.net  ##elhacker
http://webchat.freenode.net/?channels=%23%23elhacker
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Clase para el manejo voz en java
Java
Xedrox 3 4,410 Último mensaje 26 Septiembre 2010, 10:22 am
por Debci
Manejo de archivos en java
Java
Principios en C 2 4,200 Último mensaje 14 Junio 2011, 04:31 am
por dakomt
Manejo de excel con java.
Java
turion 6 4,772 Último mensaje 31 Agosto 2014, 03:47 am
por turion
Diferentes formas de manejar eventos en java.
Java
NextByte 2 1,908 Último mensaje 25 Marzo 2019, 00:15 am
por NextByte
Eventos de ratón y cuadros de texto en Java
Java
niano 1 1,894 Último mensaje 5 Julio 2019, 10:25 am
por niano
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines