15 ene 2018

Encriptar y Desencriptar texto en Java

Como poder encriptar mensajes o textos en JAVA. Así que navegando por la web encontré el código fuente de un modelo de aplicación Encriptador. En base a esto decidí adecuar un poco el algoritmo y tratarlo de explicarlo aquí, puesto que me pareció muy interesante.
Lo único que se tiene que hacer es enviarles el texto a encriptar o desencriptar (según el método), y la clave fundamental con la cúal se realiza el proceso. Es súper sencillo, ya que trabaja con los caracteres del texto y clave, y los convierte a Ascii para realizar una operación donde forma un nuevo String de salida encriptada. 

Los métodos principales son estos:

  • ENCRIPTAR
    • DESENCRIPTAR  

    Java - programa para encriptar y desencriptar contraseñas

    Buenas tardes!!

    tengo un programa que no puedo resolver, se trata de encriptar y desencriptar contraseñas. 
    el código es el siguiente.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    package md5;
     
    import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
    import java.security.NoSuchAlgorithmException;
    import javax.swing.*;
    import java.security.MessageDigest;
    import java.util.Arrays;
    import javax.crypto.Cipher;
    import javax.crypto.SecretKey;
    import javax.crypto.spec.SecretKeySpec;
     
    /*
    
     * 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.
    
     */
    
     
    /**
    
     *
    
     * @author linux
    
     */
    
    public class Md5 {
     
     
     
        public String get_md5(String CadenaOriginal){
     
     
            String md5="";
     
            try {
                if (!CadenaOriginal.equalsIgnoreCase("")) {
     
                    MessageDigest md = MessageDigest.getInstance("MD5");
                    md.reset();
                    md.update(CadenaOriginal.getBytes());
                    byte bytes[] = md.digest();
                    StringBuilder sb = new StringBuilder();
                    for (int i = 0; i < bytes.length; i++) {
                        String hex = Integer.toHexString(0xff & bytes[i]);
                        if (hex.length() == 1) {
                            sb.append('0');
                        }
                        sb.append(hex);
                    }
     
                    md5 = sb.toString();
                }
            } catch (NoSuchAlgorithmException e) {
                md5 = "Error inesperado";
     
            }
            return md5;
     
        }
     
     
     public static void main(String args[]) {
            Md5 obj = new Md5();
     
            try {
                JOptionPane.showMessageDialog(null, "La palbra encriptada es:  "+obj.get_md5("Hola"));
            } catch (Exception ex) {
                System.out.println(ex.getMessage());
            }
     
        }
     
    }




    No hay comentarios: