SpringBoot使用jasypt加解密密码的实现方法(二)

作者:自行车上的程序员 时间:2021-10-15 14:16:46 

在我们的服务中不可避免的需要使用到一些秘钥(数据库、redis等)

开发和测试环境还好,但生产如果采用明文配置讲会有安全问题,jasypt是一个通用的加解密库,我们可以使用它。


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

配置文件:


# 加密的密钥
# 测试环境可以采用在配置文件中配置
# 生产环境建议采用启动参数的形式传入
# 其他配置参数参考:com.ulisesbocchio.jasyptspringboot.properties.JasyptEncryptorConfigurationProperties
jasypt.encryptor.password=you salt

# 解密得到原始密码
spring.datasource.password= ENC(密文)

那密文怎么来的呢?


@Autowired
StringEncryptor stringEncryptor;

@Test
public void encrypt() {
 System.out.println("PWD: " + stringEncryptor.encrypt("yourpassword"));
}

public static void main(String[] args) {
   BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
   //加密所需的salt(盐)
   textEncryptor.setPassword("G0CvDz7oJn6");
   //要加密的数据(数据库的用户名或密码)
   String username = textEncryptor.encrypt("root");
   String password = textEncryptor.encrypt("root123");
   System.out.println("username:"+username);
   System.out.println("password:"+password);
 }

jasypt默认使用StringEncryptor来进行加解密,我们也可以自定义自己的加解密类来替换它,具体用户用时请百度/google。

来源:https://www.cnblogs.com/yangzhilong/p/10881589.html

标签:SpringBoot,加解密,密码
0
投稿

猜你喜欢

  • Java实现身份证号码验证源码示例分享

    2022-12-24 03:58:50
  • springboot返回值转成JSONString的处理方式

    2022-09-27 12:04:46
  • 关于使用Mybatisplus自带的selectById和insert方法时的一些问题

    2023-11-01 14:15:42
  • java 多态性详解及常见面试题

    2023-03-15 18:08:49
  • idea输入sout无法自动补全System.out.println()的问题

    2023-11-28 21:34:03
  • Spring中的后置处理器BeanPostProcessor详解

    2023-02-24 00:50:03
  • springboot接收别人上传的本地视频实例代码

    2023-03-22 01:55:39
  • spring Boot打包部署到远程服务器的tomcat中

    2023-01-14 21:45:28
  • 深入了解Hadoop如何实现序列化

    2023-10-13 10:33:43
  • Spring Boot 集成Mybatis实现主从(多数据源)分离方案示例

    2023-08-10 07:43:21
  • 详解Java单元测试之Junit框架使用教程

    2022-03-06 02:55:56
  • springboot自定义stater启动流程

    2023-06-07 06:33:45
  • java二维数组基础知识详解

    2023-03-28 11:10:54
  • Android带进度条的文件上传示例(使用AsyncTask异步任务)

    2023-06-24 09:43:11
  • C语言字符串另类用法的实现

    2023-06-19 02:05:25
  • SpringBoot整合Shiro框架,实现用户权限管理

    2021-10-27 00:03:02
  • Java如何在临界区中避免竞态条件

    2022-11-02 09:39:29
  • 解析Mybatis SqlSessionFactory初始化原理

    2022-07-09 04:24:05
  • Java基于享元模式实现五子棋游戏功能实例详解

    2023-07-23 16:20:18
  • java property配置文件管理工具框架过程详解

    2023-10-12 04:35:50
  • asp之家 软件编程 m.aspxhome.com