亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SpringBoot 集成 Jasypt 對(duì)數(shù)據(jù)庫(kù)加密以及踩坑的記錄分享

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

前言

密碼安全是非常重要的,因此我們?cè)诖a中往往需要對(duì)密碼進(jìn)行加密,以此保證密碼的安全

加依賴

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

加配置

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

PS:可以看到配置中特意配置了加密算法,原因是官方在 3.0.0 以后更改了加密算法,所以假如你不設(shè)置的話,使用網(wǎng)上的方法加密出來(lái)的密碼啟動(dòng)就會(huì)報(bào)錯(cuò),如圖:

SpringBoot 集成 Jasypt 對(duì)數(shù)據(jù)庫(kù)加密以及踩坑的記錄分享

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

SpringBoot 集成 Jasypt 對(duì)數(shù)據(jù)庫(kù)加密以及踩坑的記錄分享

版本在 3.0.0 之前的 Jasypt

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

-Djasypt.encryptor.password=xxxx

工具類

如果你想手動(dòng)使用 Jasypt 進(jìn)行加解密

import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;public class JasyptUtil { /** * Jasypt生成加密結(jié)果 * @param password 配置文件中設(shè)定的加密鹽值 * @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 配置文件中設(shè)定的加密鹽值 * @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); }}

數(shù)據(jù)庫(kù)配置解密

用官方提供的保留字 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

到此這篇關(guān)于SpringBoot 集成 Jasypt 對(duì)數(shù)據(jù)庫(kù)加密以及踩坑的記錄分享的文章就介紹到這了,更多相關(guān)SpringBoot 集成 Jasypt 對(duì)數(shù)據(jù)庫(kù)加密內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 午夜国产视频 | 亚洲天堂激情 | 91热成人精品国产免费 | 综合图片亚洲 | 日韩欧美在线第一页 | 在线a久青草视频在线观看g | 亚洲一区二区三区在线观看蜜桃 | 1024毛片 | 黄色动作视频 | 国产尤物在线播放 | 九九精品激情在线视频 | 性插免费视频 | 91最新在线视频 | 伊人色院成人蜜桃视频 | 国产成人精品magnet | 国产精品免费一区二区区 | 一级做a爰片久久毛片唾 | 特大一级aaaaa毛片 | 手机看片日韩 | 一级黄色网址 | 成人网免费看 | 最新国产中文字幕 | 中文字幕在线第一页 | 亚洲制服另类 | 日韩毛片免费视频一级特黄 | 欧美日韩一区二区不卡三区 | miya亚洲私人影院在线 | 亚洲一区二区观看 | 国模大胆偷拍在线视频 | 亚洲一级毛片免观看 | 色屁屁www欧美激情在线观看 | 久久精品国产一区二区三区日韩 | 99国产精品九九视频免费看 | 成人在线精品 | 欧美日韩在线高清 | 99re久久资源最新地址 | 久久99精品九九九久久婷婷 | 成人国产精品毛片 | 黄污在线观看 | 久久国产亚洲精品麻豆 | 久久久久久91香蕉国产 |