Apache Shiro解密spring配置文件value 代码详细示例 要安全的加解密算法 使用spring的注解 不要用spring的xml配置文件
时间: 2024-02-17 17:01:24 浏览: 125
好的,针对您的问题,我提供以下的解决方案:
1. 首先,我们需要添加依赖。在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.7.1</version>
</dependency>
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
```
2. 接下来,我们需要在 Spring Boot 的配置文件中添加以下配置:
```yaml
jasypt:
encryptor:
password: ${JASYPT_ENCRYPTOR_PASSWORD:default_password}
```
其中,`${JASYPT_ENCRYPTOR_PASSWORD}` 是一个环境变量,用于存储加密密钥。如果没有设置该环境变量,则使用默认密码。
3. 然后,我们需要在需要加密的属性上添加 `@EncryptProperty` 注解。例如:
```java
@Component
public class MyComponent {
@Value("${my.encrypted.property}")
@EncryptProperty
private String encryptedProperty;
// ...
}
```
4. 最后,我们需要在需要解密的属性上添加 `@Value` 注解。例如:
```java
@Component
public class MyComponent {
@Value("${my.encrypted.property}")
private String decryptedProperty;
// ...
}
```
通过以上代码,我们可以使用 Apache Shiro 和 Jasypt 安全地加解密 Spring Boot 配置文件中的敏感信息,并且不需要使用 Spring 的 XML 配置文件。
阅读全文