电子商务网站建设的答案,那种导航网站,电子商务网站开发需求分析,阿里巴巴做网站分录使用过SpringBoot配置文件的朋友都知道#xff0c;资源文件中的内容通常情况下是明文显示#xff0c;安全性就比较低一些。打开application.properties或application.yml#xff0c;比如mysql登陆密码#xff0c;redis登陆密码以及第三方的密钥等等一览无余#xff0c;这里…使用过SpringBoot配置文件的朋友都知道资源文件中的内容通常情况下是明文显示安全性就比较低一些。打开application.properties或application.yml比如mysql登陆密码redis登陆密码以及第三方的密钥等等一览无余这里介绍一个加解密组件提高一些属性配置的安全性。 jasypt由一个国外大神写了一个springboot下的工具包 下面直接看代码
这里以数据用户名和数据库密码加密为例 一首先引入maven
dependencygroupIdcom.github.ulisesbocchio/groupIdartifactIdjasypt-spring-boot-starter/artifactIdversion2.1.0/version
/dependency2.1.0版本是我用的时候最新版本。查看最新版本可以到 https://github.com/ulisesbocchio/jasypt-spring-boot 查看 二application.yml配置文件中增加如下内容加解密时使用
#jasypt加密的密匙
jasypt:encryptor:password: EbfYkitulv73I2p0mXI50JMXoaxZTKJ7三在测试用例中生成加密后的秘钥
RunWith(SpringRunner.class)
SpringBootTest
WebAppConfiguration
public class testTest {AutowiredStringEncryptor encryptor;Testpublic void getPass() {String url encryptor.encrypt(jdbc:mysql://47.97.192.116:3306/sell?characterEncodingutf-8useSSLfalseserverTimezoneGMT%2b8);String name encryptor.encrypt(你的数据库名);String password encryptor.encrypt(你的数据库密码);System.out.println(url----------------);System.out.println(name----------------);System.out.println(password----------------);Assert.assertTrue(name.length() 0);Assert.assertTrue(password.length() 0);}
}下面是加密后的输出结果
3OW8RQaoiHu1DXfDny4FDP0W5KOSVcWN5yWNxQ6Q4UE----------------
ITE8wJryM8hVnofDKQodFzPZuPpTaMtX71YDoOTdh0A----------------四将上面生成的name和password替换配置文件中的数据库账户和密码替换后如下
spring:#数据库相关配置datasource:driver-class-name: com.mysql.jdbc.Driver#这里加上后缀用来防止mysql乱码,serverTimezoneGMT%2b8设置时区url: ENC(i87lLC0ceVq1vK91RY6M9fAJQdU7jNp5MWndLgacRvPDj42HR8mUE33uFwpWqjOSuDX0d1dd2NilrnW7yJbZmoxuJ3HmOmjwY5Vhue3We4QPDVCr/s/RHsQgYOiWrSQ92Mjammnody/jWI5aaw)username: ENC(3OW8RQaoiHu1DXfDny4FDP0W5KOSVcWN5yWNxQ6Q4UE)password: ENC(ITE8wJryM8hVnofDKQodFzPZuPpTaMtX71YDoOTdh0A)jpa:hibernate:ddl-auto: updateshow-sql: true#返回的api接口的配置全局有效jackson:default-property-inclusion: non_null #如果某一个字段为null就不再返回这个字段#url相关配置这里配置url的基本url
server:port: 8888
#jasypt加密的密匙
jasypt:encryptor:password: EbfYkitulv73I2p0mXI50JMXoaxZTKJ7注意上面的 ENC()是固定写法里面是加密后的信息。
到此我们就实现了springboot配置文件里的敏感信息加密。是不是很简单。