• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Jasypt对SpringBoot配置文件加密

springboot 搞代码 4年前 (2022-01-05) 22次浏览 已收录 0个评论
文章目录[隐藏]

数据库密码直接明文写在配置中,对安全来说,是一个很大的挑战。一旦密码泄漏,将会带来来源gaodai#ma#com搞*!代#%^码$网很大的安全隐患。尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密。本文着重介绍Jasypt对SpringBoot配置文件加密。

引入maven

  com.github.ulisesbocchiojasypt-spring-boot-starter3.0.3

生成加密串

将连接数据库的用户名和密码进行加密

 public static void main(String[] args) { BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); //加密所需的salt(盐) textEncryptor.setPassword("Bt%XJ^n1j8mz"); //要加密的数据(数据库的用户名或密码) String username = textEncryptor.encrypt("toutou"); String password = textEncryptor.encrypt("demo123456"); System.out.println("username:"+username); System.out.println("password:"+password); } 

输出结果如下:

将用户名和密码加密对应生成的结果复制下来,后面会用到。

配置properties

将生成的加密串配置ENC(加密串)到application.properties中

 #数据库相关配置 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mytest?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8 # 加密所需的salt(盐) #jasypt.encryptor.password=Bt%XJ^n1j8mz # 默认加密方式PBEWithMD5AndDES,可以更改为PBEWithMD5AndTripleDES #jasypt.encryptor.algorithm=PBEWithMD5AndDES spring.datasource.username=ENC(d/qt1SXvttpkiugIzTYkxg==) spring.datasource.password=ENC(rhT6VNpoRUkQYYOHAQ58V4/+fkj9CWfT) spring.datasource.max-idle=10 spring.datasource.max-wait=10000 spring.datasource.min-idle=5 spring.datasource.initial-size=5 

动态salt(盐)值

解密秘钥也在配置文件里头啊,别人拿到你服务器上面的部署代码后,不是很轻松的就可以解开这个密码了?

为了防止salt(盐)泄露,反解出密码.删除掉application.properties中的 jasypt.encryptor.password 可以在本地运行中加参数。如下图:

或是在项目部署的时候使用命令传入salt(盐)值。

打包时隐藏jasypt.encryptor.password,就需要打包时maven命令增加参数 clean package -Djasypt.encryptor.password=Bt%XJ^n1j8mz 。不加参数的话打包就会报错。如下图:

然后在部署时添加参数 Djasypt.encryptor.password 。

部署时完整命令: java -jar -Djasypt.encryptor.password=Bt%XJ^n1j8mz hello-0.0.1-SNAPSHOT.jar

博客总结

数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。它的核心是密码学。数据加密仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。

安全重于泰山。

源码地址

github.com/toutouge/ja…

其他参考资料:

github.com/ulisesbocch…

以上就是Jasypt对SpringBoot配置文件加密的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Jasypt对SpringBoot配置文件加密

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址