Java之JasyptUtil类的使用

在配置文件中,我们通常会对中间件密码进行加密。手动加密可以使用JasyptUtil类,代码如下:

package com.cmit.kapok.system.utils;

import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig;

public class JasyptUtil {
    /**
     * 加密
     * @param text 需要加密的字符串
     * @return String
     */
    public static String encrypt(String text) {
        return encrypt(text,"111111");
    }

    /**
     *  解密
     * @param text 需要加密的字符串
     * @param password 加密密码
     * @return String
     */
    public static String encrypt(String text,String password) {
        StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
        //加密配置
        EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig();
        config.setAlgorithm("PBEWithMD5AndDES");
        //自己在用的时候更改此密码
        config.setPassword(password);
        //应用配置
        encryptor.setConfig(config);
        return encryptor.encrypt(text);
    }

    /**
     *  解密
     * @param text 需要加密的字符串
     * @return String
     */
    public static String decrypt(String text) {
        return decrypt(text,"scrm");
    }

    /**
     *  解密
     * @param text 需要解密的字符串
     * @param password 解密密码
     * @return String
     */
    public static String decrypt(String text,String password) {

        StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
        //加密配置
        EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig();
        config.setAlgorithm("PBEWithMD5AndDES");
        //自己在用的时候更改此密码
        config.setPassword(password);
        //应用配置
        encryptor.setConfig(config);

        //解密
        return encryptor.decrypt(text);
    }

    public static void main(String[] args){
        System.out.println(JasyptUtil.encrypt("information","password"));
        System.out.println(JasyptUtil.decrypt("KQgc8I+Or+LM4YYKhFG+Jp5xaBynJmXz","password"));
    }
}

其中,使用到的加解密方式为PBEWithMD5AndDES。PBE是一种对称加密方法,其中MD5被用作哈希函数,而DES则用于加解密过程。

 

ps:在线Jasypt解码工具

posted @ 2023-03-21 10:23  罗毅豪  阅读(301)  评论(0编辑  收藏  举报