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

SpringMVC使用jasypt加密配置文件 - Commissar

1、引入jasypt依赖库:

<!-- Jasypt核心库 -->
<dependency>
    <groupId>org.jasypt</groupId>
    <artifactId>jasypt</artifactId>
    <version>1.9.3</version>
</dependency>

2、修改配置

spring.jdbc.username=ENC(pxXd2wjuqNv6VbOegtaUxg==)
spring.jdbc.password=ENC(8Fr/wXgInniWSazqDRU2PyaZwpnQJAqX)

3、修改数据库配置文件

<!-- 数据源配置 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="url" value="#{app['spring.jdbc.url']}" /><property name="username" value="#{app['spring.jdbc.username']}" /><property name="password" value="#{app['spring.jdbc.password']}" /><property name="filters" value="slf4j" /><property name="maxActive" value="#{app['spring.jdbc.maxActive']}" /><property name="initialSize" value="#{app['spring.jdbc.initialSize']}" /><property name="minIdle" value="#{app['spring.jdbc.minIdle']}" /><!-- 配置获取连接等待超时的时间 --><property name="maxWait" value="#{app['spring.jdbc.maxWait']}" /><!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --><property name="timeBetweenEvictionRunsMillis" value="60000" /><!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --><property name="minEvictableIdleTimeMillis" value="300000" /><property name="validationQuery" value="SELECT 'x'" /><property name="testWhileIdle" value="true" /><property name="testOnBorrow" value="false" /><property name="testOnReturn" value="false" /><property name="connectProperties"><props><prop key="appPrivateKeyFilePath">密钥</prop></props></property><property name="userCallback" ref="dbNameCallback"/><property name="passwordCallback" ref="dbPasswordCallback" /></bean><bean id="dbPasswordCallback" class="com.stock.capital.agent.api.controller.DbPasswordCallback"><property name="encPassword" value="#{app['spring.jdbc.password']}" /></bean><bean id="dbNameCallback" class="com.stock.capital.agent.api.controller.DbNameCallback"><constructor-arg index="0" value="密钥" /><property name="encUserName" value="#{app['spring.jdbc.username']}" /></bean>

4、编写生成加密串代码

public static void main(String[] args) {// 注意:加密密钥必须与生产环境一致String encryptionPassword = "密钥";StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();encryptor.setAlgorithm("PBEWithMD5AndDES");encryptor.setPassword(encryptionPassword);String plainText = "用户名";String encryptedText = encryptor.encrypt(plainText);System.out.println("加密后的文本: ENC(" + encryptedText + ")");StandardPBEStringEncryptor decryptor = new StandardPBEStringEncryptor();decryptor.setAlgorithm("PBEWithMD5AndDES");decryptor.setPassword(encryptionPassword);String decryptedText = decryptor.decrypt(encryptedText);System.out.println("解密后的文本: " + decryptedText);}

 

http://www.zskr.cn/news/7186.html

相关文章:

  • 基于Python+Vue开发的口腔牙科预约管理系统源码+运行步骤
  • ECT-OS-JiuHuaShan 框架实现元推理,是人类文明的金种子
  • MATLAB实现连续投影算法
  • PS辉光眩光特效插件 BBTools Glow Glare 2 V2.4.3 For Photoshop
  • 深入解析:Model Context Protocol (MCP) 安全风险与攻击方式解析
  • 剑指offer-31、整数中1出现的次数
  • Centos7非LVM根分区容量不足后扩容,对调硬盘挂载/
  • 详细介绍:Vue3》》eslint Prettier husky
  • Java-Spring入门指南(十)纯Java类配备与@Configuration实战
  • TechInsights 拆解:蔚来“亚当(Adam)”超级计算机
  • 一根网线搞定远程运维,GL-RM1PE 深度体验:远程运维、装机、开机一体化的 KVM over IP - 详解
  • 在AI技术快速实现功能的时代,挖掘电子书阅读器新需求成为关键突破点
  • jtag协议处理流程 - 指南
  • 读人形机器人15未来城市
  • 解锁智能检索新境界:CriticGPT 赋能检索模型洞察人类偏好
  • US$39.99 3+1 Button Remote Key for Nissan 315Mhz FCC ID KBRASTU15 10pcs/lot
  • 编译Unity4.3.1f1
  • US$19 Smart Key Fob For Nissan Micra/Juke/Note Renault Alaska 433MHz
  • 【R课堂-电机专栏】为什么提高电机的电压时,转速会随之上升?
  • Java学习第四天
  • 在线咨询(本地实现—跟练)
  • 02020308 .NET Core核心基础组件08-结构化日志和集中日志服务
  • zookeeper的配置
  • 攻防世界-parallel-comparator-200 - xxx
  • 2025.9.17总结
  • 2025竞赛学习资料
  • US$21.99 3 Button Smart Card for BMW 315Mhz
  • xml基本语法
  • Day17多维数组
  • D拼数