当前位置: 代码网 > it编程>编程语言>Java > Springboot配置文件加密方式

Springboot配置文件加密方式

2025年10月24日 Java 我要评论
前面叙述了数据传递过程中的加密,需要使用到aop对result和request进行加密和解密。现在需要对服务器的中间件进行保护设置,在配置文件中尽量不要暴露出来服务器件的密码账号。需要对配置文件进行加

前面叙述了数据传递过程中的加密,需要使用到aop对result和request进行加密和解密。

现在需要对服务器的中间件进行保护设置,在配置文件中尽量不要暴露出来服务器件的密码账号。

需要对配置文件进行加密处理。

一、jasypt

jasypt是专门加密各种配置文件的依赖包

		<dependency>
			<groupid>com.github.ulisesbocchio</groupid>
			<artifactid>jasypt-spring-boot-starter</artifactid>
			<version>3.0.3</version>
		</dependency>

jasypt有多种版本,并且包之间的依赖问题比较多

二、使用步骤

1.引入依赖

添加配置

如下(yml配置):

jasypt:
  encryptor:
    algorithm: pbewithmd5anddes		#算法-固定写法一般没人改
    password: 1234qwer
    iv-generator-classname: org.jasypt.iv.noivgenerator	#设置初始向量iv生成器的类名

2.生成密钥

使用代码生成密钥

public class jasyptutil {

    /**
    * 加密方法
    * @param salt 盐值
    * @param targetstring 待加密字符串
    * @return 密文
    */
    public static string encrypt(string salt, string targetstring) {
        basictextencryptor encryptor = new basictextencryptor();
        encryptor.setpassword(salt);
        return encryptor.encrypt(targetstring);
    }

    /**
    * 解密方法
    * @param salt 盐值
    * @param targetstring 待解密字符串
    * @return 明文
    */
    public static string decrypt(string salt,string targetstring) {
        basictextencryptor encryptor = new basictextencryptor();
        encryptor.setpassword(salt);
        return encryptor.decrypt(targetstring);
    }

    public static void main(string[] args) {
        string salt = "1234qwer";
        string password = "xxxxx";
        // 进行加密操作
        string encryptstring1 = encrypt(salt, password);
        // 进行解密操作
        string decryptstring1 = decrypt(salt, encryptstring1);
        // 输出明文和密文
        system.out.println("encryptstring1="+encryptstring1);
        system.out.println("decryptstring1="+decryptstring1);
    }
}

使用jar包生成密钥

java -cp d:\repository\org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar org.jasypt.intf.cli.jasyptpbestringencryptioncli input="xxxxx" password=1234qwer algorithm=pbewithmd5anddes

在yml配置文件中修改密钥:

password: enc(kmmwxkytccovu+mmoxxojp7tif1ja9fn)

enc是jaspty中默认的,可以设置配置项自定义设置

3.idea启动添加环境变量

在idea中设置启动项configuration,添加环境变量

4.linux环境启动

nohup java -djasypt.encrypt.password=1234qwer  -jar xxxxx.jar > nohup.log &

报错

版本问题,解决冲突

如果错误信息是缺少jce安全插件,那么需要下载jce_policy-8的zip包去放入到jdk下的jre/lib/security下

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com