springboot 項目使用jasypt加密數據源的方法
引入maven 坐標
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.4</version> </dependency>
配置密鑰
#jasypt加密的鹽值 jasypt.encryptor.password=jsuuwjnf
生成加密字符串
@Autowired StringEncryptor encryptor; @Test void test1() { String url = encryptor.encrypt("jdbc:mysql://192.168.134.135:3306/rbac?serverTimezone=UTC&useSSL=false&characterEncoding=utf8"); String name = encryptor.encrypt("root"); String password = encryptor.encrypt("12321573"); System.out.println(url); System.out.println(name); System.out.println(password); }
生成結果
修改原先的數據庫連接信息
# 加密後的數據庫url
spring.datasource.url=ENC(ztfgopw048yih3D45sPq4ia7v4rTDnvE+4Oye2rMyN9XBOovSlX5k3CHs1K4mBylbGGmf8blj1QPBqdSEA4UGIGLdQ1Qaj4+8kmUGrmAzXN6/Qh1CNxUpeZgghNe0HJ5NqPoGa+sSsPh9JIdhlrvhE6YYfAXTyxEpyUa5wTj0Tw=)
# 加密後的數據庫用戶名&&密碼:
spring.datasource.username=ENC(68DX3O6HbDljx70ttga6wvtzaGnmswMNGCcq+QWtq8aih4xcTrcpDEeYHYLX+FYa)
spring.datasource.password=ENC(60cxL9lRBQAtWX+Yuk6Sb5NBwWN9juj2vCe/uUqudb9rwXClYOyO4eN4jOEVy6o5)
測試
使用加密後的數據源信息,正常連接數據庫,測試請求通過。
此外,加密鹽值在生成加密信息以後可以刪掉,在部署spring boot項目的時候通過命令行的方式將鹽值註入進去,防止數據源信息被解密。
java -jar app-0.0.1-SNAPSHOT.jar –jasypt.encryptor.password=xxxx
總結
本篇文檔隻是基於簡單的加密角度來編寫,未深入探討,若有不足還請指正。
到此這篇關於springboot 項目使用jasypt加密數據源的文章就介紹到這瞭,更多相關jasypt加密數據源內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Spring Boot配置內容加密實現敏感信息保護
- 使用Springboot對配置文件中的敏感信息加密
- 詳解如何利用jasypt實現配置文件加密
- 如何給yml配置文件的密碼加密(SpringBoot)
- springboot對數據庫密碼加密的實現