栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

项目集成jasypt加密配置文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

项目集成jasypt加密配置文件

项目集成jasypt加密配置文件
  • springboot集成jasypt
    • 添加依赖
    • 配置加密密钥
    • 编写测试类,获得加密后的数据
    • 用加密后的数据替换配置文件中的内容
  • SSM项目集成jasypt
    • 添加依赖
    • 修改配置文件,配置加密密钥
    • 编写测试类,获得加密后的数据
    • 用加密后的数据替换properties文件中的内容

springboot集成jasypt 添加依赖

	com.github.ulisesbocchio
	jasypt-spring-boot-starter
	${jasypt.version}

注意:如果springboot版本是1.X,则jasypt版本不要超过2.0,否则项目启动报错。

配置加密密钥

在配置文件中配置加密密钥

jasypt:
  encryptor:
      password: 自定义的加密密钥

注意:该加密密钥可以通过 java -jar -Djasypt.encryptor.password=自定义的加密密钥进行设置,建议在生产环境中使用

编写测试类,获得加密后的数据
    @Autowired
    private StringEncryptor stringEncryptor;

    
    private String encrypt(String originPassword) {
        return stringEncryptor.encrypt(originPassword);
    }


    
    private String decrypt(String encryptedPassword) {
        return stringEncryptor.decrypt(encryptedPassword);
    }


    @Test
    public void test01(){
        String username = "数据库账号";
        String password = "数据库密码";

        String encryptUsername = encrypt(username);
        String encryptPassword = encrypt(password);

        String decryptUsername = decrypt(encryptUsername);
        String decryptPassword = decrypt(encryptPassword);

        System.out.println("加密前==================");
        System.out.println(username);
        System.out.println(password);

        System.out.println("加密后==================");
        System.out.println(encryptUsername);
        System.out.println(encryptPassword);

        System.out.println("解密后==================");
        System.out.println(decryptUsername);
        System.out.println(decryptPassword);

    }
用加密后的数据替换配置文件中的内容
username: ENC(4VFVUM24U+l8cIBsqDB3n6aUl0Hyss/g)
password: ENC(tDCXAEl48I5nbXzpL+gLAg==)

注意:一定要用ENC()包裹,jasypt默认读取被ENC()包裹的内容进行解密。

到此,已经完成了配置文件的加密,可以尝试启动项目

SSM项目集成jasypt 添加依赖

    org.jasypt
    jasypt-spring31
    ${jasypt.version}

修改配置文件,配置加密密钥

数据库等配置一般都是写在properties配置文件中,注释SSM框架中读取properties的bean配置

配置如下bean


	
    
    
    
    
    
    




    




    
    

编写测试类,获得加密后的数据
public static void fun01(String username, String password, String key){

        BasicTextEncryptor encryptor = new BasicTextEncryptor();
        encryptor.setPassword(key);

        String encryptUsername = encryptor.encrypt(username);
        String encryptPassword = encryptor.encrypt(password);

        String decryptUsername = encryptor.decrypt(encryptUsername);
        String decryptPassword = encryptor.decrypt(encryptPassword);

        System.out.println("加密前");
        System.out.println("username = " + username);
        System.out.println("password = " + password);

        System.out.println("加密后");
        System.out.println("username = " + encryptUsername);
        System.out.println("password = " + encryptPassword);

        System.out.println("解密后");
        System.out.println("username = " + decryptUsername);
        System.out.println("password = " + decryptPassword);

    }
用加密后的数据替换properties文件中的内容
username=ENC(AFnRM2Q/k6FwOwlpKGhKE2BN92XLpuLv)
password=ENC(TVZproHkE5THCUvK7Nx4Tg==)

注意:一定要用ENC()包裹,jasypt默认读取被ENC()包裹的内容进行解密。

到此,已经完成了配置文件的加密,可以尝试启动项目

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340279.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号