idea 使用jasypt
时间: 2024-12-30 09:22:54 浏览: 6
### 配置环境
为了在 IntelliJ IDEA 中集成并使用 Jasypt 进行加密解密操作,需先下载对应版本的 `jasypt` jar 包。对于 Spring Boot 项目而言,推荐将依赖通过 Maven 或 Gradle 添加至项目的构建文件中,而非手动引入 jar 文件[^2]。
#### Maven 依赖配置
```xml
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
```
### 加密过程
利用命令行工具执行加密指令。假设已准备好 jasypt 的 jar 包,则可通过如下命令完成字符串加密:
```bash
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=待加密字符串 password=盐 algorithm=PBEWithMD5AndDES
```
上述命令中的 `input` 参数代表要加密的内容;`password` 是用于加密的密钥(即所谓的“盐”),而 `algorithm` 则指定了具体的加密算法。
### 解密验证
为确保加密后的数据能够正常解密,在应用程序内可以通过调用 decrypt 方法来进行测试。例如,在 Java 类中加入以下代码片段可打印出解密结果:
```java
System.out.println(encryptor.decrypt("SMZ+qN+4u965ME2dwarUSg=="));
```
这里的 `"SMZ+qN+4u965ME2dwarUSg=="` 即为之前加密得到的结果。此段代码应放置于适当位置以便运行时输出解密信息[^3]。
### 应用程序配置调整
编辑应用配置文件 (`application.yml`) 来指定加密器使用的密码以及设置其他必要的属性:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC
username: root
password: 'ENC(FtvDryJcYcWdFNpfxUs8Sw==)'
jasypt:
encryptor:
password: mySecretSaltValue
```
注意这里的数据源密码字段前缀有 `ENC()` 表明这是一个经过加密处理过的值。同时也要记得设定好对应的加密器密码(`mySecretSaltValue`)以供后续解密使用。
### 启动参数设置
除了直接修改配置文件外,还可以通过 JVM 参数传递给应用程序:
```bash
-Djasypt.encryptor.password=mySecretSaltValue
```
这种方式允许动态更改加密/解密所用的秘密密钥而不必改动任何配置文件内容。
阅读全文