Spring配置文件密文加密

Spring配置文件密文加密

首先,引入jar包(不用maven的小伙伴可以去在线中央仓库下载)

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

示例加密代码如下?获取对应的加密后的密码

package com.desv;

import org.jasypt.properties.PropertyValueEncryptionUtils;
import org.jasypt.util.text.BasicTextEncryptor;

/**
 * 加密测试工具
 * @author uidq3930
 * @date 2022-9-2
 */
public final class JasyptEncryptorUtils {
	
	/**
	 * 加密盐
	 * @date 2022-9-2
	 */
	private static final String SALT = "qgY7v#edt16yX";
	
	private static final BasicTextEncryptor BASIC_TEXT_ENCRYPTOR = new BasicTextEncryptor();
	
	static {
		BASIC_TEXT_ENCRYPTOR.setPassword(SALT);
	}
	
	private JasyptEncryptorUtils() {
	}
	
	/**
	 * 明文加密
	 */
	public static String encode(String plaintext) {
		System.out.println("明文字符串:" + plaintext);
		String ciphertext = BASIC_TEXT_ENCRYPTOR.encrypt(plaintext);
		System.out.println("加密后字符串:" + ciphertext);
		return ciphertext;
	}
	
	/**
	 * 解密
	 */
	public static String decode(String ciphertext) {
		System.out.println("加密字符串:" + ciphertext);
		ciphertext = "ENC(" + ciphertext + ")";
		if (PropertyValueEncryptionUtils.isEncryptedValue(ciphertext)) {
			String plaintext = PropertyValueEncryptionUtils.decrypt(ciphertext, BASIC_TEXT_ENCRYPTOR);
			System.out.println("解密后的字符串:" + plaintext);
			return plaintext;
		}
		System.out.println("解密失败");
		return "";
	}
	
	/**
	 * 测试
	 */
	public static void main(String[] args) {
		JasyptEncryptorUtils.encode("明文密码");
	}
}

最后在配置文件中替换你的明文密码,并用ENC加密标记

datasource:
 primary:
  url: jdbc:p6spy:oracle:thin:@0.0.0.0:1521:orcl
  driverClassName: com.p6spy.engine.spy.P6SpyDriver
  username: username
  password: ENC(UKcFnoKMZgcMo3wNKlDMNN4C4cZCWqDJ)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值