當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Springboot整合Hikari数据库连接池,密码加密
生活随笔
收集整理的這篇文章主要介紹了
Springboot整合Hikari数据库连接池,密码加密
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.application.yml配置
1 spring: 2 datasource: 3 jdbcUrl: jdbc:mysql://127.0.0.1:3306/jby?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false 4 username: root 5 password: 'f687101570bae7ce4d313c2b4440f4ae' 6 #自動提交 7 auto-commit: true 8 #最小連接 9 minimum-idle: 100 10 #最大連接 11 maximum-pool-size: 200 12 #最大空閑時間 13 idle-timeout: 60000 14 #連接池名 15 pool-name: DatebookHikariCP 16 #最大生命周期 17 max-lifetime: 900000 18 #連接超時時間 19 connection-timeout: 15000 20 #心跳檢測 21 connection-test-query: SELECT 'x' FROM DUAL2.?構建UmspscDataSource類,繼承HikariDataSource類
1 @Slf4j 2 public class UmspscDataSource extends HikariDataSource { 3 private String passwordDis; 4 /** 5 * 密匙 6 */ 7 private final static String PKEY ="1234565437892132"; 8 @Override 9 public String getPassword(){ 10 11 if(StringUtils.isNotBlank(passwordDis)){return passwordDis;} 12 String encPassword = super.getPassword(); 13 if(null==encPassword){ 14 return null; 15 } 16 log.info("數據庫密碼加解密,{"+encPassword+"}"); 17 try{ 18 // 密文解密,解密方法可以修改 19 String key = HexUtil.encodeHexStr(PKEY); 20 SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, key.getBytes()); 21 passwordDis = aes.decryptStr(encPassword, CharsetUtil.CHARSET_UTF_8); 22 return passwordDis; 23 }catch (Exception e){ 24 log.error("數據庫密碼解密出錯,{"+encPassword+"}"); 25 log.error(LogUtil.e(e)); 26 throw new AppException("數據庫密碼解密失敗!", e); 27 } 28 } 29 }3.初始化DataSource類
1 @Component 2 public class CommonBeanFactory { 3 4 @Bean(name = "dataSource", autowire = Autowire.NO) 5 @Primary 6 @ConfigurationProperties(ignoreUnknownFields = false,prefix="spring.datasource") 7 public HikariDataSource dataSource() { 8 HikariDataSource druidDataSource = new UmspscDataSource(); 9 return druidDataSource; 10 } 11 }*******************************
構建密文
1 @Slf4j 2 public class Main { 3 4 public static void main(String[] args) { 5 //明文 6 String content = "123456"; 7 //密匙 8 String pkey = "1234565437892132"; 9 log.info("密匙:" + pkey); 10 String key = HexUtil.encodeHexStr(pkey); 11 //構建 12 SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, key.getBytes()); 13 14 //加密為16進制表示 15 String encryptHex = aes.encryptHex(content); 16 log.info("密文:" + encryptHex); 17 //解密為字符串 18 String decryptStr = aes.decryptStr(encryptHex, CharsetUtil.CHARSET_UTF_8); 19 log.info("明文:" + decryptStr); 20 } 21 }?
轉載于:https://www.cnblogs.com/ljb161108/p/11334451.html
總結
以上是生活随笔為你收集整理的Springboot整合Hikari数据库连接池,密码加密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: failed to find romfi
- 下一篇: 阐述Linux操作系统之rpm五种基本操