日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Springboot整合Hikari数据库连接池,密码加密

發布時間:2024/9/5 javascript 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 DUAL

2.?構建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数据库连接池,密码加密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。