使用springboot怎么对数据库密码进行加密
使用springboot怎么对数据库密码进行加密?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1.导入依赖
<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.输入如下命令执行
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%2B8jasypt: 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
解决办法:
0.2更改了默认的加密算法,最后的办法是把版本降到2.1.2
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341