口试问题梳理:项目中防止配置中的密码泄露-Jasypt

火影  论坛元老 | 2024-7-16 06:52:14 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1773|帖子 1773|积分 5319

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
背景

想起口试的时候,口试官问我现在大家用Spring框架,数据库、ES之类的密码都是配置在配置文件中的,有很大的安全隐患,你有思量过怎么解决嘛?
当时我回答是可以在项目启动的过程中的下令行追加的方式,感觉口试官不太满意,让我回去等关照~
以是才想起来查了下Jasypt这个组件,有了这篇文档。
基础配置

这个组件的使用还是比力简单的,引入POM依赖,设置加密方式,添加前后缀即可使用
  1. <dependency>
  2.    <groupId>com.github.ulisesbocchio</groupId>
  3.    <artifactId>jasypt-spring-boot-starter</artifactId>
  4.    <version>3.0.3</version>
  5. </dependency>
复制代码
运行原理

根据我的明白,Jasypt的工作原理如下


  • jasypt-spring-boot-starter这个包内里配置了Spring必要扫描的路径和初始化的bean对象
  • 初始的bean对象会读取Spring的配置对象容器,然后将容器内容的配置对象都更换为Jasypt中EncryptablePropertySource,也就是配置对象的子类。
  • Spring是通过getProperty(name),而Jasypt重写了这个方法,在调用获取配置项值的过程中判断值是否包含加密前后缀,然后进行解密返回
    固然内里还包含了很多细节,如加密方式,对配置对象的署理,对配置项的缓存存储等。
感谢

感谢大佬对源码的剖析

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

火影

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表