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解码工具