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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • AvalonDock使用心得「建议收藏」

    AvalonDock使用心得「建议收藏」  桌面程序的应用,不可避免的就会用到大量的布局控件,之前的一个项目也想过去做类似于VisualStudio的那种灵活的布局控件,也就是界面上的控件能够实现拖拽放置、隐藏、窗口化等一系列的操作,但由于开发时间以及需求的原因,没有太严格要求这方面功能的实现,也就只能算是想过一下而已,实际用的时候还是固定布局,但是最近接触到新的项目,需要这方面的应用就不得不自己动手查找和做这样的东西了。  有朋…

  • 大数据分析应用领域有哪些[通俗易懂]

    大数据分析应用领域有哪些[通俗易懂]  软件和服务的大数据分析市场收入预计将从2018年的$42B增长到2027年的$103B,复合年增长率(CAGR)为10.48%。这就是为什么,大数据分析认证是业内最全神贯注的技能之一。在这个“大数据分析应用领域”文章中,我将带您进入各个行业领域,在这里我将解释大数据分析如何使它们发生革命性变化。  大数据分析应用  大数据分析应用程序的主要目标是通过分析大量数据来帮助公司做出更具信息量的业务决策。它可能包括Web服务器日志,Internet点击流数据,社交媒体内容和活动报告,来自客户电子邮

  • 判断回文字符串-C语言

    判断回文字符串-C语言C语言实现判断字符串是否是回文描述所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如”level”、“aba”。超级简单上代码#include<stdio.h>#include<string.h>#defineNUM100intmain(){charstr[NUM];intflag=0;scanf(“%s”,str);intlen=strlen(str);for(inti=0;i

  • python进阶(4)文件操作

    python进阶(4)文件操作文件操作文件操作主要包括对文件内容的读写操作,这些操作是通过文件对象实现的,通过文件对象可以读写文本文件和二进制文件open(file,mode='r',buffering=-

  • Unity 协程嵌套测试

    Unity 协程嵌套测试通过return嵌套,子协程执行完之后父进程才继续执行usingSystem.Collections;usingUnityEngine;publicclasstest2:MonoBehaviour{ voidStart(){Debug.Log(“Start0”);StartCoroutine(test());De

  • 常见归一化公式_归一化结果怎么算

    常见归一化公式_归一化结果怎么算 1、线性函数转换,表达式如下:y=(x-MinValue)/(MaxValue-MinValue)说明:x、y分别为转换前、后的值,MaxValue、MinValue分别为样本的最大值和最小值。2、对数函数转换,表达式如下:y=log10(x)说明:以10为底的对数函数转换。3、反余切函数转换,表达式如下:y=atan(x)*2/PI4、式(1)将输入值换算为[-1,1]区间的值,在输出

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

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