jasypt 加密解密+自定義加密算法


1.引用jar包

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

2.在application.yml文件中加入配置信息
#數據庫配置文件加密
jasypt:
encryptor:
## 實現jasypt加密解密的類
bean: desencrypt
對數據庫密碼加密,使用 ENC() 包裹起來,然后里面放置密文

 

 

###################################################
# 數據庫配置 #
###################################################
# 數據庫驅動
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
# 數據庫鏈接
spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
# 數據庫用戶名
spring.datasource.username=NR
# 數據庫密碼
spring.datasource.password=ENC(TLI=)
# 數據源連接池中最大連接數
spring.datasource.hikari.maximum-pool-size=50

 

 


3.加密解密類
import gov.cnao.security.service.EncryptDecryptService;
import gov.cnao.security.service.impl.EncryptDecryptServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jasypt.encryption.StringEncryptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

@Component("desencrypt")
public class NrStringEncryptor implements StringEncryptor {
private static Logger logger = LoggerFactory.getLogger(NrStringEncryptor.class);

private EncryptDecryptService encryptDecryptService = new EncryptDecryptServiceImpl();

@Override
public String encrypt(String message) {
if (StringUtils.isNotBlank(message)){
try {
logger.info("加密前密碼:"+message);
message = encryptDecryptService.encrypt(message);
logger.info("加密后密碼:"+message);
logger.info("配置信息加密成功!");
} catch (Exception e) {
logger.error("配置信息加密失敗!");
}
}
return message;
}

@Override
public String decrypt(String encryptedMessage) {
if (StringUtils.isNotBlank(encryptedMessage)){
try {
logger.info("解密前密碼:"+encryptedMessage);
encryptedMessage = encryptDecryptService.decrypt(encryptedMessage);
logger.info("解密后密碼:"+encryptedMessage);
logger.info("配置信息解密成功!");
} catch (Exception e) {
logger.error("配置信息解密失敗!");
}
}
return encryptedMessage;
}
}

4. 自定義加密算法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM