SpringBoot - 集成Jasypt(注意点)

关于Jasypt

  Jasypt是一个Java库,允许开发人员以很简单的方式添加基本加密功能,而无需深入研究加密原理。利用它可以实现高安全性的,基于标准的加密技术,无论是单向和双向加密。加密密码,文本,数字,二进制文件。

一般可以将项目配置中敏感信息(如数据库密码,管理者密码,第三方账号密码等)使用Jasypt加密配置。

官网:http://www.jasypt.org/

SpringBoot - 集成Jasypt

1. 引入pom依赖:

		<!-- jasypt加密 -->
		<dependency>
			<groupId>com.github.ulisesbocchio</groupId>
			<artifactId>jasypt-spring-boot-starter</artifactId>
			<version>2.1.0</version>
		</dependency>

2. 设置盐值,生产环境中,切记不要直接进行设置,可通过环境变量、命令行等形式进行设置。

jasypt.encryptor.password=SaltDemo

命令行示例:

  java -jar xxx.jar --jasypt.encryptor.password=xxxx

环境变量示例

  设置环境变量:

  # 打开/etc/profile文件

  vim /etc/profile

  # 文件末尾插入

  export JASYPT_PASSWORD = xxxx

  启动命令:

  java -jar xxx.jar --jasypt.encryptor.password=${JASYPT_PASSWORD}

3. 在application.properties文件中增加配置项,需要jasypt来解密的密文需要用“ENC(......)”括起来

spring:
  datasource:
    driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:sqlserver://ip:1433;DatabaseName=DBNAME
    username: dbuser
    password: ENC(cJkRcdRnpwyXrgbYg+pc1A==)

# 用友(快递查询)配置参数
yonyou.apicode=ENC(ljmI7p6GFfQEctm7heVX7fcrmzT/YT67XddJDsEbYV8/wOuZRglvz79jekSrv+Z/)
yonyou.url=ENC(wjlJlV2cejA8oZQJCHFajfJg9pTAH+WE89rwXl6lM3FrU5E1u4CnC/HPcVXLYo3lit2QNn4EGWe6I6wlO8D1nl3mGwelKj8k)

简单来说,就是在需要加密的值使用ENC(和)进行包裹,即:ENC(密文)。若想避免参数冲突,可修改前缀和后缀,可以直接使用jasypt.encryptor.property.prefix和jasypt.encryptor.property.suffix进行修改即可。

  之后想往常一样使用@Value(${})即可。

猜你喜欢

转载自blog.csdn.net/qq_26878363/article/details/103731173