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

Tablas virtuales en java (View)

Una Vista (View) es una Tabla Virtual cuyo contenido está definido por una consulta (SELECT), al igual que una tabla rea[...]

Generar clases desde Esquemas XSD

XJC es una herramienta de linea de comandos del compilador de esquemas de JAXB que se puede utilizar para convertir un e[...]

Que es y como se usa la App de la ANH Abastecimiento

La Agencia Nacional de Hidrocarburos de Bolivia (ANH) ante la crisis de combustible que sufre el pais, a lanzado una apl[...]

Ejemplo de uso del Generador de Código de MyBatis

MyBatis es un framework de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacenados a part[...]

Microservicio REST Java con Spark – Parte 2

Segunda y ultima parte del post dedicado a la creación de un microservicio en lenguaje java utilizando el framework Spar[...]

Componente swing jcMousePanel v1.6.9

Agregar una imagen a un jpanel o a un jframe no es complicado pero para un programador novato puede convertirse en todo[...]