国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

SpringBoot 集成 Jasypt 對數據庫加密以及踩坑的記錄分享

瀏覽:9日期:2023-05-03 13:50:22

前言

密碼安全是非常重要的,因此我們在代碼中往往需要對密碼進行加密,以此保證密碼的安全

加依賴

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

加配置

# jasypt 密碼加密配置jasypt: encryptor: # 加密鹽值 password: jasypt # 加密算法設置 3.0.0 以后 algorithm: PBEWithMD5AndDES iv-generator-classname: org.jasypt.iv.NoIvGenerator

PS:可以看到配置中特意配置了加密算法,原因是官方在 3.0.0 以后更改了加密算法,所以假如你不設置的話,使用網上的方法加密出來的密碼啟動就會報錯,如圖:

SpringBoot 集成 Jasypt 對數據庫加密以及踩坑的記錄分享

官方 issue:Failed to bind properties under ‘spring.datasource.password’ to java.lang.String` #154

SpringBoot 集成 Jasypt 對數據庫加密以及踩坑的記錄分享

版本在 3.0.0 之前的 Jasypt

需要額外添加 Jasypt 的加密鹽值配置到 Tomcat

-Djasypt.encryptor.password=xxxx

工具類

如果你想手動使用 Jasypt 進行加解密

import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;public class JasyptUtil { /** * Jasypt生成加密結果 * @param password 配置文件中設定的加密鹽值 * @param value 加密值 * @return */ public static String encyptPwd(String password,String value){ PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor(); encryptor.setConfig(cryptor(password)); String result = encryptor.encrypt(value); return result; } /** * 解密 * @param password 配置文件中設定的加密鹽值 * @param value 解密密文 * @return */ public static String decyptPwd(String password,String value){ PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor(); encryptor.setConfig(cryptor(password)); String result = encryptor.decrypt(value); return result; } public static SimpleStringPBEConfig cryptor(String password){ SimpleStringPBEConfig config = new SimpleStringPBEConfig(); config.setPassword(password); config.setAlgorithm('PBEWithMD5AndDES'); config.setKeyObtentionIterations('1000'); config.setPoolSize('1'); config.setProviderName('SunJCE'); config.setSaltGeneratorClassName('org.jasypt.salt.RandomSaltGenerator'); config.setStringOutputType('base64'); return config; } public static void main(String[] args) { // 加密 String encPwd = encyptPwd('jasypt', '123456'); // 解密 String decPwd = decyptPwd('jasypt', encPwd); System.out.println(encPwd); System.out.println(decPwd); }}

數據庫配置解密

用官方提供的保留字 ENC,將加密的密碼包裹即可

spring: datasource: url: jdbc:mysql://xx.xx.xx.xx/xxxx?useUnicode=true&characterEncoding=utf8&useSSL=false username: root password: ENC(加密后的密碼) driver-class-name: com.mysql.jdbc.Driver

到此這篇關于SpringBoot 集成 Jasypt 對數據庫加密以及踩坑的記錄分享的文章就介紹到這了,更多相關SpringBoot 集成 Jasypt 對數據庫加密內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 欧美一区二区三区视频 | 国产成人精品日本亚洲专 | 欧美二级在线观看免费 | 亚洲狠狠ady亚洲精品大秀 | 在线视频一区二区日韩国产 | 草草草在线观看 | 在线不卡一区二区三区日韩 | 亚洲精品国产综合久久一线 | 免费播放特黄特色毛片 | 欧美一级特黄一片免费 | 日韩a级| 久久精品免费观看国产软件 | 成人18免费观看的软件 | 午夜爽爽 | 国产精品情人露脸在线观看 | 99精品久久99久久久久久 | 欧美一区二区三区不卡免费观看 | 成人毛片1024你懂的 | 91热久久免费频精品动漫99 | 成人免费看www网址入口 | 欧美三级黄色大片 | 美女视频黄a全部 | 欧美成人观看视频在线 | 欧美一级成人一区二区三区 | 日韩午夜视频在线观看 | 成人免费在线网站 | 亚洲欧美在线观看 | 国产一精品一aⅴ一免费 | 99久久精品国产自免费 | 亚洲欧美综合国产不卡 | 国产东北色老头老太性视频 | 国产呦在线观看视频 | 97在线免费视频观看 | 深夜在线观看大尺度 | 在线观看免费a∨网站 | 草草视频在线观看最新 | 国产成人午夜性视频影院 | 被老外玩爽的中国美女视频 | 成人久久影院 | cao草棚视频网址成人 | 在线观看人成午夜影片 |