百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

Spring Boot数据库密码加密的配置方法

xsobi 2025-01-09 16:50 12 浏览

前言

由于系统安全的考虑,配置文件中不能出现明文密码的问题,本文就给大家详细介绍下springboot配置数据库密码加密的方法,下面话不多说了,来一起看看详细的介绍吧

1.导入依赖

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

2.找到jasypt-1.9.2.jar所在位置,打开cmd

3.输入如下命令执行

Bash
java -cp  jasypt-1.9.2.jar  org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=sad124f1f1rf1fgt5 algorithm=PBEWithMD5AndDES

input :明文密码

password:要加的盐(可自己设置)

algorithm:加密算法,这里使用 PBEWithMD5AndDES

结果如下,OUTPUT就是加密之后的密文(密码)



4.在application.yml文件中配置

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    username: ENC(HPPHfpHVXzNf00SQLBrjug==)
    password: ENC(F8ckXFGTF6Wu8dQ51hoNBw==)
    url: jdbc:mysql://localhost:3306/foodie-shop-dev?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
jasypt:
  encryptor:
    password: sad124f1f1rf1fgt5

5.在启动类Application.java中配置注解,配置完成

//配置数据库加密注解
@EnableEncryptableProperties

6.小结

除了加密MySQL密码的例子之外,当配置文件中有多个密码、Token等需要加密时,这个方法就比较方便了。

除了支持字符串秘钥,jasypt还支持key文件秘钥,更加安全。

在安全要求很高时,还可以使用jasypt默认PBEWITHHMACSHA512ANDAES_256加密算法,该算法需要安装JCE支持。

7.问题

问题描述:在Spring Boot中使用jasypt-spring-boot进行加密,但是提示:

Description:
Failed to bind properties under 'spring.datasource.password' to java.lang.String:
Reason: Failed to bind properties under 'spring.datasource.password' to java.lang.String
Action:
Update your application's configuration

解决办法:

3.0.2更改了默认的加密算法,最后的办法是把版本降到2.1.2

总结

到此这篇关于springboot数据库密码加密配置的文章就介绍到这了,希望大家以后多多支持!

相关推荐

就3张图,直接搞懂TCP的11种状态!

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部...

TCP/IP网络通信介绍(tcp ip通信)

一张图简单介绍TCP/IP网络通信各方面的知识点。核心内容如下...

「Qt入门第37篇」 网络(七)TCP(一)

导语TCP即TransmissionControlProtocol,传输控制协议。与UDP不同,它是面向连接和数据流的可靠传输协议。也就是说,它能使一台计算机上的数据无差错的发往网络上的其他计算机,...

终于搞懂了 TCP 的 11 种状态,太不容易了…

后台回复"666",获取新资料本来想写运维过程中,nginx服务器中time_wait的相关测试及解决方法的,然后发现TCP的状态需要先铺垫一下,于是就整理了这篇文章。网上很多大佬整理TCP三...

通讯协议:TCP &amp; UDP 总结(通讯协议和通讯接口详解)

今日分享主题:TCP与UDP两种通讯协议的区别,从整体的视角上来看看他们的差异,这也是我们学习网络编程应该掌握的基础技术点。...

腾讯云国际站:为什么需要调整TCP内核参数?

本文由【云老大】TG@yunlaoda360撰写优化网络带宽利用率...

太厉害了,终于有人能把TCP/IP协议讲的明明白白了

从字面意义上讲,有人可能会认为TCP/IP是指TCP和IP两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用IP进行通信时所必须用到的协议群的统称。具体来说...

网络编程懒人入门(十三):一泡尿的时间,快速搞懂TCP和UDP的区别

本文引用了作者Fundebug的“一文搞懂TCP与UDP的区别”一文的内容,感谢无私分享。1、引言...

TCP三次握手与四次挥手全解析:从协议原理到实战调优

#网络协议#TCP/IP#性能优化#后端开发...

TCP是什么(什么叫tcp)

在计算机网络中,TCP被广泛应用于互联网通信中的数据传输,确保数据的可靠和有序传输。TCP是基于IP(InternetProtocol)的一种协议,它位于网络层之上,负责在网络上的各个节点之间建立可...

计算机网络:一文带大家轻松了解TCP/IP协议

今天和大家分享TCP/IP协议相关的知识,希望对朋友们了解计算机网络相关的知识提供一些帮助!一、TCP/IP协议实现与TCP/IP协议标准的概念...

软网推荐:优化TCP/IP为上网提速(22号天蝎座的运势)

我们在上网的时候主要使用的就是TCP/IP协议,但是很多人平时对这个协议并不了解。其实它和我们的网络运行非常密切,所以我们需要对其进行优化设置,进而更好的利用网络的带宽。接下来我们将通过专业的网站,配...

揭秘!扒一扒能加速互联网的QUIC协议

今天早上,一则新闻《谷歌希望凭借其QUIC协议加速互联网》引起了笔者注意,这篇新闻中提到,大约有一半来自Chrome浏览器对谷歌服务器的请求,现在由QUIC协议负责处理。QUIC是什么?我们光从字面上...

TCP协议原理,有这一篇就够了(tcp原理理解)

先亮出这篇文章的思维导图:TCP作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将TCP核心的一些问题梳理了一下,希望能帮到各位。001.能不能说一说TC...

TCP与UDP通信的区别(tcp、udp通信协议对比?)

一张有趣的图片你知道TCP与UDP协议通信传输的区别么?下面这幅图如果你看懂了,你也就理解了。不得不佩服,真是太有才了,太形象了。...