Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / JASYPT : Cifrado simplificado Java

JASYPT : Cifrado simplificado Java

Por 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

Artículos similares

Libreria swing BlackTabbedPane

Continuación del tutorial [Personalizar JTabbedPane con Netbeans]. La clase BlackTabbedPaneUI que extendemos de BasicTab[...]

Cambiar plataforma JDK en Netbeans

Es recomendable tener actualizado la Maquina Virtual Java de nuestro equipo para poder disfrutar de las mejoras que trae[...]

Mozilla presenta Pyodide

Pyodide es un proyecto experimental de Mozilla  que proporciona un intérprete de Python que se ejecuta completamente en[...]

Como crear salas de videollamadas con Messenger Rooms de Facebook

Messenger Rooms es la nueva opción de videoconferencias de Facebook que permite realizar videollamadas con hasta 50 pers[...]

Bloquear pantalla cliente

En este tutorial crearemos una aplicación que bloqueara toda la pantalla de la PC y no nos dejara realizar ninguna tarea[...]

SQLite/Java conexión

SQLite. SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente[...]