Springboot配置文件加密
创始人
2024-03-12 14:04:47
0

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、jasypt
  • 二、使用步骤
    • 1.引入依赖
    • 2.添加配置
    • 3.生成密钥
    • 3.idea启动添加环境变量
    • 3.linux环境启动
  • 报错


前言

前面叙述了数据传递过程中的加密,需要使用到aop对result和request进行加密和解密。现在需要对服务器的中间件进行保护设置,在配置文件中尽量不要暴露出来服务器件的密码账号。需要对配置文件进行加密处理


一、jasypt

jasypt是专门加密各种配置文件的依赖包

		com.github.ulisesbocchiojasypt-spring-boot-starter3.0.3

jasypt有多种版本,并且包之间的依赖问题比较多

二、使用步骤

1.引入依赖

2.添加配置

如下(yml配置):

jasypt:encryptor:algorithm: PBEWithMD5AndDES		#算法-固定写法一般没人改password: 1234qweriv-generator-classname: org.jasypt.iv.NoIvGenerator	#设置初始向量IV生成器的类名

3.生成密钥

使用代码生成密钥

public class JasyptUtil {/*** 加密方法* @param salt 盐值* @param targetString 待加密字符串* @return 密文*/public static String encrypt(String salt, String targetString) {BasicTextEncryptor encryptor = new BasicTextEncryptor();encryptor.setPassword(salt);return encryptor.encrypt(targetString);}/*** 解密方法* @param salt 盐值* @param targetString 待解密字符串* @return 明文*/public static String decrypt(String salt,String targetString) {BasicTextEncryptor encryptor = new BasicTextEncryptor();encryptor.setPassword(salt);return encryptor.decrypt(targetString);}public static void main(String[] args) {String salt = "1234qwer";String password = "xxxxx";// 进行加密操作String encryptString1 = encrypt(salt, password);// 进行解密操作String decryptString1 = decrypt(salt, encryptString1);// 输出明文和密文System.out.println("encryptString1="+encryptString1);System.out.println("decryptString1="+decryptString1);}
}

使用jar包生成密钥

java -cp D:\repository\org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="xxxxx" password=1234qwer algorithm=PBEWithMD5AndDES

在yml配置文件中修改密钥:

password: ENC(KMMwXkYtccOvU+mMOXXojP7Tif1Ja9fN)

ENC是jaspty中默认的,可以设置配置项自定义设置

3.idea启动添加环境变量

在idea中设置启动项configuration,添加环境变量

在这里插入图片描述

3.linux环境启动

nohup java -Djasypt.encrypt.password=1234qwer  -jar xxxxx.jar > nohup.log &

报错

版本问题,解决冲突

如果错误信息是缺少jce安全插件,那么需要下载jce_policy-8的zip包去放入到JDK下的jre/lib/security下

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...