idea环境下,配置文件敏感信息使用ENC加密

本文介绍如何在IDEA环境中使用jasypt对敏感信息进行ENC加密,包括引入依赖、下载工具包、执行加密命令及修改配置文件等步骤。

在普通的web项目中,常常需要对具有敏感问题的数据进行加密,如数据源的url、账号、密码等。本篇博文介绍的是,在idea环境中,对敏感信息进行ENC加密。加密步骤如下:

1.引入pom依赖
<dependency>
     <groupId>com.github.ulisesbocchio</groupId>
     <artifactId>jasypt-spring-boot-starter</artifactId>
     <version>2.1.1</version>
 </dependency>
2.下载需要使用的工具包

本地需要使用到的工具包,包路径为:repository\org\jasypt\jasypt\1.9.2(其中repository为你本地仓库地址,本地不存在时可添加到pom下载后,再删除

jasypt-1.9.2.jar依赖
<!-- https://mvnrepository.com/artifact/org.jasypt/jasypt -->
<dependency>
    <groupId>org.jasypt</groupId>
    <artifactId>jasypt</artifactId>
    <version>1.9.2</version>
</dependency>
3.执行命令语句,获取加密后密文

依赖和工具包下载完毕后,打开idea 的Terminal命令窗口界面,选到你本地工具依赖jasypt-1.9.2.jar所在目录

执行命令语句:

java -cp jasypt-1.9.2.jar  org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=34444 algorithm=PBEWithMD5AndDES
——input:为需要加密的数据,如密码,账号等
——password:为加密数据使用的密钥
——algorithm:为默认算法

实际操作,如下图:
在这里插入图片描述
OUTPUT为加密后所得密文。

4.修改配置文件,添加解密密钥

然后对需要加密的数据所在的配置文件做出对应的修改,修改样式如下:

加密前:
spring:
  data:
    mongodb1:
      uri: mongodb://abc:abc*2020@10.88.37.75:27017/abc
      database: abc
加密后:
spring:
  data:
    mongodb1:
      uri: ENC(7eWO6DlvfoKUF58FASFA7EFS2ZCc3EuWDUMILTpevqXMSITBK7wAZstD82ASF38F2AFF22rfjyQ=)
      database: abc
jasypt:
  encryptor:
    #用来加解密的salt值
    password: 123456
在 IntelliJ IDEA配置 Jasypt 加密库所需的环境变量,主要涉及以下几个方面: 1. **设置环境变量**:Jasypt 通常依赖环境变量来提供加密所需的密钥(如 `JASYPT_ENCRYPTOR_PASSWORD`)。可以在 IntelliJ IDEA 的运行配置中设置环境变量: - 打开 **Run/Debug Configurations** 窗口(可以通过右上角的运行配置下拉菜单进入)。 - 选择当前使用的运行配置(如 Spring Boot 应用)。 - 在 **Configuration** 选项卡中,找到 **Environment variables** 字段。 - 输入所需的环境变量,例如: ``` JASYPT_ENCRYPTOR_PASSWORD=mySecretKey ``` - 点击 **Apply** 并保存配置 [^4]。 2. **配置 VM Options(可选)**:如果需要通过 JVM 参数传递加密密钥,可以在 **VM options** 字段中添加: ``` -Djasypt.encryptor.password=mySecretKey ``` 这种方式适用于某些版本的 Jasypt 或特定配置需求 。 3. **配置 `application.properties` 或 `application.yml` 文件**:确保配置文件中正确引用了环境变量或 VM 参数。例如,在 `application.properties` 中: ``` spring.datasource.password=ENC(V1234567890abcdef) ``` Jasypt 将自动从环境变量或 JVM 参数中获取密钥进行解密 [^4]。 4. **检查依赖配置**:确保 `pom.xml`(Maven)或 `build.gradle`(Gradle)中已正确引入 Jasypt 相关依赖。对于 Spring Boot 项目,通常需要添加如下依赖: ```xml <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.5</version> </dependency> ``` 5. **验证配置**:启动应用后,观察日志是否正常输出,确认数据库连接等加密配置能够正确解密并生效。 ### 示例代码:Spring Boot 中的配置文件 ```properties # application.properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=ENC(V1234567890abcdef) ``` ### 示例代码:Maven 依赖配置 ```xml <!-- pom.xml --> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.5</version> </dependency> ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值