当前位置: 首页 > wzjs >正文

做封面的地图网站茂名网站建设方案开发

做封面的地图网站,茂名网站建设方案开发,网站找哪些单位做实名认证,简单网页制作素材​​ 目录 ​​ ​1. 为什么需要加密配置文件?​​ ​2. Jasypt 快速集成​ ​2.1 在xml文件中添加 Maven 依赖​ ​2.2 生成加密字符串​​ ​编辑 ​编辑 ​3. 安全最佳实践​ ​4. 常见问题​ ​Q1:加密后启动报错?​​ ​Q2&…

​​

目录

​​

​1. 为什么需要加密配置文件?​​

​2. Jasypt 快速集成​

​2.1 在xml文件中添加 Maven 依赖​

​2.2 生成加密字符串​​

​编辑

​编辑

​3. 安全最佳实践​

​4. 常见问题​

​Q1:加密后启动报错?​​

​Q2:加密算法如何选择?​​

​5. 总结​


1. 为什么需要加密配置文件?​

在 Spring Boot 项目中,敏感信息(如数据库密码、API Key、Redis 密码等)通常直接写在 application.propertiesapplication.yml 中(如下图所示),存在以下风险:

  • 代码泄露​:配置文件可能被上传到 Git,导致密码暴露。
  • 运维风险​:服务器被入侵时,攻击者可直接读取明文密码。
  • 合规性要求​:部分行业(如金融、医疗)强制要求加密存储敏感信息。

解决方案​:使用 ​Jasypt​(Java Simplified Encryption)对敏感信息加密,运行时自动解密,兼顾安全与便捷。


2. Jasypt 快速集成

2.1 在xml文件中添加 Maven 依赖

<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.5</version>
</dependency>

2.2 生成加密字符串​​

那他是如何进行加密解密的呢?然我们进入这个组件的源码(加密部分):

input是你要输入的内容,后面的password是密钥,用于给上面inport的内容解密

我们来看一下下面optional的内容,我们有什么可以选择的呢?

解密部分:

那么我们如何去使用这样的一个工具呢?

在命令行中输入:

java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="root" password=huihui algorithm=PBEWithMD5AndDES

执行这条命令之后:password的内容就是我们指定的密钥

将output的内容拷下。接着加入到yml配置文件当中,我们在将root改为我们加密后的内容需要用ENC封装:

    username: ENC(ugBjFufNHYJiS+kbJG1Uvg==) //ENC括号的内容表示这是加密后的内容

接着,我们用同样的方式加密我们的密码,内容都是一样的,只是input的内容不一样:

我们现在已经完成了加密的部分,剩下的就是整个项目需要通过我加密的内容获取其真实的内容,这样,他才可以去访问到数据,那么现在有两种方式去解密:

方式一:在yml配置文件里面配置好密钥

jasypt:encryptor:password: huihui  # 必须与加密时使用的password参数一致algorithm: PBEWithMD5AndDES  # 必须与加密时使用的algorithm参数一致iv-generator-classname: org.jasypt.iv.NoIvGenerator# 注意:PBEWithMD5AndDES是较旧算法,演示环境下没有问题# 建议升级到更安全的算法如PBEWithHMACSHA512AndAES_256

然后再在启动文件处(一般是…Application)加入@EnableEncryptableProperties注解表示开启密码解析。接着再去启动整个应用:

数据库数据正确查出。

但是!!!

此时,你的密钥就写在yml配置文件中,等于把要是直接给了其他人,让没有权限的人也可以登陆获取数据,所以这种方式很不安全。那么,我们开始另外一种方式。

方式二:我们手动的在项目启动的时候手动加一个动态参数

//加入的分别是以下冒号后面的内容
Name: JASYPT_ENCRYPTOR_PASSWORD  
Value: huihuiName: JASYPT_ENCRYPTOR_ALGORITHM  
Value: PBEWithMD5AndDES

接着,yml文件也应该相应的改变:

jasypt:encryptor:password: ${JASYPT_ENCRYPTOR_PASSWORD:}  # 从环境变量读取algorithm: ${JASYPT_ENCRYPTOR_ALGORITHM:PBEWithMD5AndDES}  # 默认算法iv-generator-classname: org.jasypt.iv.NoIvGenerator  # MD5AndDES必须禁用IV


数据访问成功!!!


​3. 安全最佳实践

  1. 密钥管理​:
    • 生产环境务必使用环境变量或云服务(如 AWS KMS)。
    • 禁止将密钥提交到 Git。
  2. 密钥轮换​:
    定期更换加密密钥,并重新加密所有配置。
  3. 日志脱敏​:
    避免敏感信息打印到日志(配置 logback.xml 过滤 ENC(*))。
  4. 最小权限​:
    仅允许必要服务访问密钥。

​4. 常见问题

Q1:加密后启动报错?​

  • 检查密钥是否一致。
  • 确认依赖版本无冲突(Spring Boot 2.x 用 jasypt-spring-boot-starter 3.x)。

Q2:加密算法如何选择?​

  • 默认 PBEWithMD5AndDES 已不安全,建议 PBEWithHMACSHA512AndAES_256

​5. 总结

通过 Jasypt 可以低成本实现 Spring Boot 配置文件的敏感信息加密,关键步骤:

  1. 引入依赖​:jasypt-spring-boot-starter
  2. 加密数据​:用命令行或代码生成 ENC(密文)
  3. 安全存储密钥​:优先用环境变量或启动参数。

文章转载自:

http://x6g6J9Ue.xyhqL.cn
http://WI2q5fOW.xyhqL.cn
http://3nR6SaUB.xyhqL.cn
http://Becn3F36.xyhqL.cn
http://E0YGHB5B.xyhqL.cn
http://OB8KOh89.xyhqL.cn
http://xlSTT09i.xyhqL.cn
http://qiCZTtXD.xyhqL.cn
http://sHJY9iPE.xyhqL.cn
http://KQkzH8tZ.xyhqL.cn
http://msZG4uht.xyhqL.cn
http://i380AdWf.xyhqL.cn
http://kDQgXndJ.xyhqL.cn
http://vBXdYbD9.xyhqL.cn
http://JkclMo6I.xyhqL.cn
http://AMsHzy1S.xyhqL.cn
http://MYdAFO4U.xyhqL.cn
http://dsObGw7P.xyhqL.cn
http://JA1KBBjN.xyhqL.cn
http://6QQWoTRb.xyhqL.cn
http://K01K8l2T.xyhqL.cn
http://WUEEGdAV.xyhqL.cn
http://snPOY5Uj.xyhqL.cn
http://bh1yPNym.xyhqL.cn
http://4BDRMdif.xyhqL.cn
http://97oJDZ68.xyhqL.cn
http://yim8Mrtf.xyhqL.cn
http://v061krsY.xyhqL.cn
http://7LKcwOVA.xyhqL.cn
http://PcCZpgEh.xyhqL.cn
http://www.dtcms.com/wzjs/686960.html

相关文章:

  • 上海网站建设公司电话建设网站基本思路
  • 舟山网站建设有哪些帝国cms 商城网站视频教程
  • asp.net 网站开发视频教程企业网站优化分为哪两个方向
  • 淘宝客怎么做直播网站高雅不俗气的公司名字
  • 一个网站做seo德泰诺网站建设
  • 编程 朋友 做网站衡阳手机网站建设
  • 建站模板工程造价网络营销方式有哪些推广工具
  • 服装设计找图网站海盐建设局网站
  • python做网站有什么优势网站建设 郑州
  • 深圳建设网站哪家强WordPress手动切换主题
  • 微信小程序联盟网站中小企业网站开发
  • 网站轮播图怎么保存项目投资网
  • php网站开发报告用别人的照片做网站
  • 商城网站素材青岛永诚网络管理有限公司
  • 宜春制作网站公司哪家好范县网站建设费用
  • 番禺区pc端网站建设济宁网页
  • 微信网站开发报价表wap浏览器网页版
  • 做网站还赚钱么企业网站建站系统哪个好用
  • 黑白高端网站建设网站做的图上传后字变得很模糊
  • 营销型手机网站专业做制作网站
  • 学校网站logo怎么做wordpress 页面显示分类文章列表
  • 照片做3d网站vue如何网站开发
  • 网站开发用什么工具好网站用什么cms
  • 做网站微信公众号金银饰品那家网站做的好
  • 网站线上投票怎样做可信网站认证有用
  • 河南一般建一个网站需要多少钱wordpress slider pro
  • 家装设计效果图网站企业展厅图片
  • 帝国cms灵动标签做网站地图做网站要写代码吗
  • 网站开发及维护是什么如何经营电商平台
  • 成品网站速成网站智能锁网站建设关键词