Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / JASYPT : Cifrado simplificado Java

JASYPT : Cifrado simplificado Java

Autor jc mouse jueves, marzo 7, 2019

Jasypt es una biblioteca java que permite agregar capacidades básicas de encriptación a proyectos con el mínimo esfuerzo y sin la necesidad de tener un conocimiento profundo de cómo funciona la criptografía.

Puede descargar la ultima versión de Jasypt 1.9.2 desde este <<enlace>> pero si está usando Maven en su proyecto, eche un vistazo a Jasypt + Maven para obtener detalles sobre cómo agregar una dependencia en Jasypt.

Entre las características de esta librería podemos mencionar:

  • Técnicas de encriptación de alta seguridad basadas en estándares, tanto para encriptación unidireccional como bidireccional. Cifrar contraseñas, textos, números, binarios, etc
  • Integración transparente con Hibernate.
  • Adecuado para la integración en aplicaciones basadas en Spring y también de manera transparente integrable con Spring Security.
  • Características específicas para el cifrado de alto rendimiento en sistemas multiprocesador / multinúcleo.
  • Proporciona herramientas CLI (interfaz de línea de comandos) fáciles de usar para permitir a los desarrolladores inicializar sus datos cifrados e incluir operaciones de cifrado / descifrado / resumen en tareas de mantenimiento o scripts.
  • Muy alto nivel de capacidades de configuración: el desarrollador puede implementar trucos como indicar a un «encriptador» que solicite, por ejemplo, a un servidor HTTPS remoto la contraseña que se usará para el cifrado.
  • Número de soporte de cifrado. Además de los textos y los binarios, permite el resumen y el cifrado de valores numéricos (BigInteger y BigDecimal, otros tipos numéricos son compatibles cuando se encripta la persistencia de Hibernate).

¿Como cifra contraseñas de los usuarios?

import org.jasypt.util.password.BasicPasswordEncryptor;
import org.jasypt.util.password.PasswordEncryptor;
/** 
 * @see https://www.jc-mouse.net/
 * @author mouse
 */
public class Main {
    
    public static void main(String[] args) {
    
        PasswordEncryptor encryptor = new BasicPasswordEncryptor();
        
        /**
         * Encriptar password de usuario
         */
        String encryptedPassword = encryptor.encryptPassword("123456");
        System.out.println("Password encriptado (123456) : " + encryptedPassword );
        
        /**
         * Compara el password cifrado con nuestra palabra secreta
         */
        if (encryptor.checkPassword("123456", encryptedPassword )) {
            System.out.println("Bienvenido!!!");
        } else {
            System.out.println("Acceso Denegado!!!");
        }
    }    
}

seguridad password

Encriptando/Desencriptando texto

import org.jasypt.util.text.BasicTextEncryptor;
/**
 * @see https://www.jc-mouse.net/
 * @author mouse
 */
public class Main {

    static final String PALABRA_SECRETA = "SUBORDINACION Y CONSTANCIA";

    public static void main(String[] args) {
        /**
         * Encriptando texto
         */
        BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
        textEncryptor.setPassword(PALABRA_SECRETA);
        String myEncryptedText = textEncryptor.encrypt("Antes de que un software sea reutilizable debería ser utilizable");
        System.out.println("Texto encriptado:\n" + myEncryptedText);

        /**
         * Desencriptando
         */
        String plainText = textEncryptor.decrypt(myEncryptedText);
        System.out.println("Texto desencriptado:\n" + plainText);
    }
}

Texto encriptado

enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

WorldMap: Construye y comparte mapas en la nube

WorldMap: Construye y comparte mapas en la nube

Harvard WorldMap es una plataforma de mapeo de código abierto en línea, desarrollado por el Centro de Análisis Geográfic...

Personalizar iconos de un JTree

Personalizar iconos de un JTree

JTree cuenta con métodos que nos permiten cambiar los iconos de cada nodo según su estado, sin embargo a veces esto no e...

Transacciones – Uso de Commit y Rollback

Transacciones – Uso de Commit y Rollback

Cuando desarrollamos aplicaciones en java con base de datos debemos tener cuidado en que se cumplan un conjunto de carac...

Introducción a Scene Builder y MVC (Parte I)

Introducción a Scene Builder y MVC (Parte I)

En este tutorial realizaremos una introducción al diseño de interfaces gráficas en JavaFX y Scene Builder, así también v...

Crea una libreria TimeChooser – Selector de Tiempo

Crea una libreria TimeChooser – Selector de Tiempo

En este post crearemos un componente gráfico para java que nos permitirá seleccionar la hora del día de una manera senci...

Netbeans «Problemas de Referencia»

Netbeans «Problemas de Referencia»

Cuando nos bajamos un proyecto de internet o cuando nos pasan un código de otra pc (que técnicamente viene siendo lo mis...

Comparte lo que sabes

Categorias

Últimas entradas

Sourcetrail el explorador de código fuente de los lenguaje C, C ++, Java y Python se pasa al Software Libre y desde ahor...

Tapiti v1.2.0 es un Software Educativo Gratuito multiplataforma para los sistemas operativos Windows y Linux el cual no...

En este post vemos un ejemplo de como convertir un archivo de imagen JPG en un archivo PDF utilizando para ellos la libr...

El modelo Tweetbotornot es un algoritmo de aprendizaje automático que se entrenó en miles de cuentas reales de bot y no...

Herramientas

Generador de Enlaces a Whatsapp