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

Gráficos de tortas en iReport

Los gráficos de torta, también llamados gráficos de 360 grados o circulares, son gráficos estadísticos que se utilizan p[...]

SQLite INSERT, UPDATE, DELETE, QUERY

En este segundo post sobre Android y SQLite, veremos el uso de los métodos de gestión de base de datos más utilizados, e[...]

Mozilla presenta Pyodide

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

Bolivia Segura: La página web oficial del gobierno para informar sobre el Coronavirus

El gobierno constitucional de Bolivia a la cabeza de la presidente Yaninne Añez y ante la confirmación de dos casos posi[...]

CommandoVM: Pentesting bajo Windows

CommandoVM es la primera distribución de seguridad basada en Windows para pruebas de penetración desarrollado por FireEy[...]

Como capturar cambios del Slider en JavaFX

En este tutorial veremos como usar el componente Slider de JavaFX , capturas los cambios que realice el usuario y con es[...]