jasypt配置文件密码加解密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: jasypt配置文件密码加解密

我们在写配置文件的时候经常会涉及到密码,比如数据库,redis,RabbitMQ等,那这种密码如果直接写明文的话,会存在一定风险,比如开发人员离职后,还知道原来数据库的密码,那就风险很大,所以有必要把密码加密。

  1. 加依赖
<!-- jasypt 加解密 -->
        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>2.1.2</version>
        </dependency>
  1. 加密解密测试
package com.imooc.test;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.EnvironmentPBEConfig;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class JasyptTest {
    @Test
    public void testPwdEncrypt() {
        // 实例化加密器
        StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
        // 配置加密算法和秘钥
        EnvironmentPBEConfig config = new EnvironmentPBEConfig();
        config.setPassword("zhushanglin");      // 用于加密的秘钥(盐),可以是随机字符串,或者固定,一定要存储好,不要被其他人知道
        config.setAlgorithm("PBEWithMD5AndDES");    // 设置加密算法,默认
        encryptor.setConfig(config);
        // 对密码进行加密
        String myPwd = "guest";
        String encryptedPwd = encryptor.encrypt(myPwd);
        System.out.println("++++++++++++++++++++++++++++++");
        System.out.println("+ 原密码为:" + myPwd);
        System.out.println("+ 加密后的密码为:" + encryptedPwd);
        System.out.println("++++++++++++++++++++++++++++++");
    }
    @Test
    public void testPwdDecrypt() {
        // 实例化加密器
        StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
        // 配置加密算法和秘钥
        EnvironmentPBEConfig config = new EnvironmentPBEConfig();
        config.setPassword("zhushanglin");      // 用于加密的秘钥(盐),可以是随机字符串,或者固定,一定要存储好,不要被其他人知道
        config.setAlgorithm("PBEWithMD5AndDES");    // 设置加密算法,默认
        encryptor.setConfig(config);
        // 对密码进行解密
        String pendingPwd = "BKUDo+ArPPA5C9u2WqbmUQ==";
        String myPwd = encryptor.decrypt(pendingPwd);
        System.out.println("++++++++++++++++++++++++++++++");
        System.out.println("+ 解密后的密码为:" + myPwd);
        System.out.println("++++++++++++++++++++++++++++++");
    }
}
  1. 配置文件中使用
    密文用ENC()包起来
目录
相关文章
|
Java 数据库 数据安全/隐私保护
配置文件加密(Jasypt的简单使用)
配置文件加密(Jasypt的简单使用)
|
Java 数据安全/隐私保护
jasypt 配置文件关键信息配置 加密
jasypt 配置文件关键信息配置 加密
649 0
|
1月前
|
存储 安全 Java
shiro学习二:shiro的加密认证详解,加盐与不加盐两个版本。
这篇文章详细介绍了Apache Shiro安全框架中密码的加密认证机制,包括不加盐和加盐两种加密方式的实现和测试。
84 0
|
6月前
|
存储 安全 Java
Spring Security的密码加密和校验
本文介绍了Spring Security中密码的加密和校验。首先,在`SecurityConfig`配置类中添加了两个Bean,一个是`PasswordEncoder`的无操作实例,用于明文密码校验,另一个是`UserDetailsService`,用于创建内存中的用户信息。接着,文章对比了对称加密、非对称加密和摘要加密三种加密方式,并重点讲解了BCrypt摘要加密的特性,强调其安全性高于MD5。最后,通过代码示例展示了如何使用BCryptPasswordEncoder改造权限密码加密,确保密码的安全存储和校验。
292 6
|
6月前
|
Java 数据库 Maven
Jasypt 配置文件加密的用法
Jasypt 配置文件加密的用法
282 0
|
6月前
|
Java 数据库 数据安全/隐私保护
SpringBoot项目使用jasypt加解密的方法加密数据库密码
SpringBoot项目使用jasypt加解密的方法加密数据库密码
117 0
|
6月前
|
安全 算法 Java
spring security 如何对密码进行加密
spring security 如何对密码进行加密
|
存储 算法 Java
【Jasypt】Spring Boot 配置文件加解密 Jasypt 配置文件加密
【Jasypt】Spring Boot 配置文件加解密 Jasypt 配置文件加密
494 0
|
安全 Java 数据库
|
安全 IDE NoSQL
SpringBoot敏感配置加密:Jasypt
SpringBoot敏感配置加密:Jasypt
182 0