首页 > 编程语言 >Java之JasyptUtil类的使用

Java之JasyptUtil类的使用

时间:2023-03-21 10:33:58浏览次数:39  
标签:Java String text JasyptUtil 使用 return password config 加密

在配置文件中,我们通常会对中间件密码进行加密。手动加密可以使用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"));
    }
}

即可。

标签:Java,String,text,JasyptUtil,使用,return,password,config,加密
From: https://www.cnblogs.com/luoyihao/p/17239037.html

相关文章

  • 使用Jcom组件操作Visio批量导出图片
    [url]http://mncc.iteye.com/blog/367389[/url]在JAVA中使用JCOM和JXL注意要点:(1)在你的lib下要有jdom-1.0.jar,jxl-2.5.5.jar,jcom-2.2.4.jar,jcom.dl......
  • Java生成随机日期
    publicclassDateRandomTest{//返回2007-01-01到2007-03-01的一个随机日期publicstaticvoidmain(String[]args){DaterandomDate=r......
  • Can not set java.lang.String field com.jsedc.log.pojo.entity.voSyslogV0.happenT
    未加泛型约束的result,其List中的实体对象会被序列化为LinkedHashMap,实际结构为Result<List<LinkedHashMap<String,String>>>导出excel时对象赋值失败......
  • Javaweb学习-书城项目相关
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾由于是多个视频内容混合在一起,因此只放了第一个链接本文参考价值不高,随便写写......
  • 【Unity3D】使用GL绘制线段
    1前言​线段渲染器LineRenderer、拖尾TrailRenderer、绘制物体表面三角形网格从不同角度介绍了绘制线段的方法,本文再介绍一种新的绘制线段的方法:使用GL绘制线段。......
  • JAVA -适合新手和复习(Restart)
    作为22届专科生,在没有经历和学历的情况下找一份得体的工作 是多么“奢侈”,世上岂无千里马,人中难得九方皋.废话太多我们开始吧!JAVA从这里开始 Java的历史(不感兴趣直......
  • 值得收藏的Java 命名规范参考!
    一、Java中常用到的命名形式共有三种既首字母大写的UpperCamelCase,首字母小写的lowerCamelCase以及全部大写的并用下划线分割单词的UPPERCAMELUNSER_SCORE。通常约定,类一......
  • Linux启动Java程序jar包Shell脚本
    手动方式启动和终止java程序启动java程序jar:nohupjava-jarXXX.jar查看程序占用pid:ps-ef|grepXXX.jar或jpsjps是jdk提供的一个查看当前java进程的小工具,查询Lin......
  • javascript 学习笔记
     JavaScript是区分大小写的,并使用Unicode字符集在JavaScript中,指令被称为语句(Statement),并用分号(;)进行分隔如果一条语句独占一行的话,那么分号是可以省略的。(译者......
  • 2万字70道Java经典面试题总结(附答案)
    本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校......