Spring boot 使用Jasypt加密用户名密码

Spring boot 使用Jasypt加密用户名密码

在工程中加入

maven

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

gradle

       implementation "com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.2"

在application-local.yml中加入

jasypt:
    encryptor:
        algorithm: PBEWithMD5AndDES
        iv-generator-classname: org.jasypt.iv.NoIvGenerator
        password: XyO8tet6i4dX14S #生产中使用命令行方式

修改密码为ENC()形式

Jasypt生成密码参考:https://github.com/chenjiangtao/spring-boot-on-kubernetes#Jasypt

        mysql:
            jdbc-url: jdbc:mysql://localhost:4000/test?serverTimezone=Asia/Shanghai&allowLoadLocalInfile=true&useUnicode=true&characterEncoding=utf-8&useSSL=false&rewriteBatchedStatements=true
# username: test
# password: test
            username: ENC(cMiMOtvRCdJK+4hazUKSXA==)
            password: ENC(rQc8TdaC+7m5DqLS1rlN1g==)
            driver-class-name: com.mysql.cj.jdbc.Driver
            validation-query: select 1

在启动类加两个注解

@Configuration
@EnableEncryptableProperties
public class MyApplication {
   
	public static void main(String[] args) {
   
		SpringApplication.run(MyApplication.class, args);
	}
}

启动

java -jar -Djasypt.encryptor.password=XyO8tet6i4dX14S -DGATEWAY_SERVICE_EVN=local build/libs/app.jar

或者使用--spring.profiles.active=dev

java -jar -Djasypt.encryptor.password=XyO8tet6i4dX14S build/libs/app.jar --spring.profiles.active=local

更新盐

mvn jasypt:reencrypt -Djasypt.plugin.old.password=OLD -Djasypt.encryptor.password=NEW

ulisesbocchio参考:
https://github.com/ulisesbocchio/jasypt-spring-boot

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100338.html原文链接:https://javaforall.net

(0)
上一篇 2021年5月14日 下午10:00
下一篇 2021年5月15日 上午8:00


相关推荐

  • out of sync with file system

    out of sync with file system

    2021年7月15日
    79
  • 算数平均数、中位数、众数和几何平均数[通俗易懂]

    算数平均数、中位数、众数和几何平均数[通俗易懂]文章目录算数平均数、中位数、众数和几何平均数算数平均数、中位数、众数和几何平均数统计数据时经常用到的几种数的比较:算数平均数中位数众数几何平均数英文名ArithmeticmeanMedianModeGeometricMean别称均值中值定义n个变量的和除以n。中位数是按顺序排列的一组数据中居于中间位置的数,即在这组数据中,有一半的…

    2025年12月15日
    8
  • SQL Server 创建数据库关系图时 索引超过数组界限。(已解决)

    SQL Server 创建数据库关系图时 索引超过数组界限。(已解决)1 问题描述首先在 work 表中对于两个字段 employee 和 department 都建立了外键 然后想看一下数据库关系图 报错 索引超出了数组界限 测试了其他的数据库是可以正常创建数据库关系图的 2 问题解决网上很多的解决方案是说版本不太 OK 蛋酥鉴于其他数据库都可以的情况 觉得这种方式应该不 OK 所以删除了外键关系 还是不 OK 然后重新启动 SSMS 它 OK 了 可以正常创建数据库关系图啦

    2026年3月18日
    1
  • decimal 整数 mysql_MySQL decimal类型

    decimal 整数 mysql_MySQL decimal类型在本教程中,我们将向您介绍MySQLDECIMAL数据类型以及如何在数据库表中有效地使用它。MySQLDECIMAL数据类型简介MySQLDECIMAL数据类型用于在数据库中存储精确的数值。我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据。要定义数据类型为DECIMAL的列,请使用以下语法:column_nameDECIMAL(P,D);在上面的语法中:P…

    2022年7月17日
    22
  • Android在Context详细解释 —- 你不知道Context

    Android在Context详细解释 —- 你不知道Context

    2021年12月17日
    45
  • SQL 聚合函数之字符串分组合并[通俗易懂]

    SQL 聚合函数之字符串分组合并[通俗易懂]本文介绍了如何通过SQL函数对字符串进行聚合,也就是将多行字符串合并成单个字符串。包括Oracle(LISTAGG函数)、MySQL(GROUP_CONCAT函数)、SQLServer(STRING_AGG函数)、PostgreSQL(STRING_AGG函数)以及SQLite(GROUP_CONCAT函数)的语法和差异。

    2022年6月21日
    118

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号