SpringBoot加密配置文件的SQL账号密码
程序员文章站
2024-03-16 18:41:52
...
一般项目的配置文件里的信息都是明文的,导致有时候比较敏感的信息也直接暴露得超级明显,比如SQL的链接 账号 密码等。可能作为开发者,开发环境这些暴露了也没多大关系,但是生产环境就需要谨慎了!
话不多说,我们可以选择国外牛人写的SpringBoot的工具 jasypt 进行加密,项目是开源的,Github地址如下:https://github.com/ulisesbocchio/jasypt-spring-boot
1、在Maven项目中引入依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
2、同时需要在application.yml配置文件中先配置密码,因为工具是使用该密码进行加密或者解密的,所以必须保证配置中加密后的串是使用同一密码加密的,否则项目启动时也解密不了。
jasypt:
encryptor:
password: 123456
3、 可以在测试用例中,对原信息进行加密,使用方法很简单。简单的Demo如下:
@RunWith(SpringRunner.class)
@SpringBootTest
@WebAppConfiguration
public class Test {
@Autowired
StringEncryptor encryptor;
@Test
public void getPass() {
#直接调用加密的方法
String mysql = encryptor.encrypt("mysql-username|mysql-password");
}
}
4、最后在配置文件中放入加密后的字符串就行,如上面的 “mysql” 串
url: ENC(mysql==)
username: ENC(mysql==)
password: ENC(mysql=)
注意 ENC() 是固定的写法,mysql== 就是你加密后的对应串。
这样就可以假装的把敏感信息加密了,哈哈哈之所以说假装。可能很多人都会有疑问,既然加密的密码是明文的存在配置文件中,别人一样可以轻松的解密出来。没错,确实是这样。这种加密的方式只能说不能让人眼一下子看出账号密码。只是伪装了一下,如果hacker拿到了你的项目权限,那么做任何加密其实都没有大作用了。所以做好项目和服务器的安全问题才是最基本的也是最重要的。
OK!OK!OK!
上一篇: 计算一个数的任意次方后的后三位数
下一篇: QT连接FireBird测试
推荐阅读
-
SpringBoot加密配置文件的SQL账号密码
-
JAR包读取jar包内部和外部的配置文件,springboot读取外部配置文件的方法(优先级配置)
-
Springboot整合Shiro之加盐MD5加密的方法
-
springboot读取配置文件的两种方式
-
SpringBoot获取yml和properties配置文件的内容
-
springboot如何读取配置文件(application.yml)中的属性值
-
Springboot整合Shiro之加盐MD5加密的方法
-
SpringBoot获取yml和properties配置文件的内容
-
在SpringBoot中通过jasypt进行加密解密的方法
-
springboot如何读取配置文件(application.yml)中的属性值