当前位置:网站首页>【加密解密】明文加密解密-已实现【已应用】
【加密解密】明文加密解密-已实现【已应用】
2022-08-05 10:30:00 【刘贵庆】
目录:
一、加载jasypt包。
二、jasypt配置、数据库配置
三、项目正常运行
四、加密解密方法
五、报错及解决方法
具体内容:
一、加载jasypt包
gradle配置:
implementation group: 'com.github.ulisesbocchio', name: 'jasypt-spring-boot-starter', version: '3.0.4'或者:pom.xml文件:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>二、jasypt配置、数据库配置
application.properties文件:
#123wes为自定义加密盐:(jasypt配置一定要放最上面)
jasypt.encryptor.password=123wes
#加密方式 (切勿修改,若修改:同加密方法一并修改。)
jasypt.encryptor.iv-generator-classname=org.jasypt.iv.NoIvGenerator
jasypt.encryptor.algorithm=PBEWithMD5AndDES
#数据连接配置:
spring.datasource.jdbc-url=jdbc:mysql://localhost:3306/databasesName?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
spring.datasource.username= ENC(Bf1Y3jZLLuLnkX1T2kXu9/r/Pil//fM6)
spring.datasource.password= ENC(dfCDWWWEEgs4YXDDFKKK9kGW)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver或者:yml文件:
jasypt:
encryptor:
password:123wes
iv-generator-classname:org.jasypt.iv.NoIvGenerator
algorithm:PBEWithMD5AndDES
#数据库配置:
spring:
datasource:
jdbc-url:mysql://localhost:3306/databasesName?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
username: ENC(Bf1Y3jZLLuLnkX1T2kXu9/r/Pil//fM6)
password: ENC(dfCDWWWEEgs4YXDDFKKK9kGW)
driver-class-name:com.mysql.cj.jdbc.Driver三、正常运行
至此;点击Run运行项目。可正常运行。
四、加密解密方法
用户密码加密解密 :(注意:仅用来获取密码加密字符串,之后去掉,打包时不打此文件。)
TestJasypt.java文件:
package xxx;
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.StandardPBEByteEncryptor;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
public class TestJasypt {
//获取密文:
public static void main(String[] args) {
// 加密
//password为自定义:加密盐,value为需要加密的字符串
System.out.println(setJasypt("123wes", "[email protected]"));
// 解密
password为加密盐,value为需要解密的:加密密文。
System.out.println(getJasypt("123wes", "Bf1Y3jZLLuLnkX1T2kXu9/r/Pil//fM6"));
}
/* 输出:密文:
Bf1Y3jZLLuLnkX1T2kXu9/r/Pil//fM6
// 放入配置文件如:password: ENC(Bf1Y3jZLLuLnkX1T2kXu9/r/Pil//fM6)
解密后:
[email protected]
*/
//注意:发布时,不加载此文件。
public static String setJasypt(String password, String value) {
PooledPBEStringEncryptor encryptOr = new PooledPBEStringEncryptor();
encryptOr.setConfig(ssPBEC(password));
String result = encryptOr.encrypt(value);
return result;
}
public static String getJasypt(String password, String value) {
PooledPBEStringEncryptor encryptOr = new PooledPBEStringEncryptor();
encryptOr.setConfig(ssPBEC(password));
String result = encryptOr.decrypt(value);
return result;
}
public static SimpleStringPBEConfig ssPBEC(String password) {
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword(password);
config.setAlgorithm(StandardPBEByteEncryptor.DEFAULT_ALGORITHM);
config.setKeyObtentionIterations("1000");
config.setPoolSize("1");
config.setProviderName(null);
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
config.setStringOutputType("base64");
return config;
}
}
五、报错及解决方法
报错:Failed to bind properties under 'spring.datasource.password' to java.lang.String:

边栏推荐
- Offensive World-PWN-new_easypwn
- 力扣(LeetCode)216. 组合总和 III(2022.08.04)
- 2022 Huashu Cup Mathematical Modeling Ideas Analysis and Exchange
- 2022华数杯数学建模思路分析交流
- 这份阿里强推的并发编程知识点笔记,将是你拿大厂offer的突破口
- SMB + SMB2: Accessing shares return an error after prolonged idle period
- 第九章:activit内置用户组设计与组任务分配和IdentityService接口的使用
- Still looking for a network backup resources?Hurry up to collect the following network backup resource search artifact it is worth collecting!
- 教你本地编译运行一个IDEA插件,在IDEA里聊天、下棋、斗地主!
- Is digital transformation a business buy-in?
猜你喜欢

一文道清什么是SPL

【温度预警程序de开发】事件驱动模型实例运用

Leetcode刷题——623. 在二叉树中增加一行
![[强网杯2022]WP-UM](/img/3d/caeab05ddca278af274dbf6e2f8ba1.png)
[强网杯2022]WP-UM

今天告诉你界面控件DevExpress WinForms为何弃用经典视觉样式

Getting started with Polkadot parachain development, this article is enough

用KUSTO查询语句(KQL)在Azure Data Explorer Database上查询LOG实战

Opencv算术操作

The host computer develops C# language: simulates the STC serial port assistant to receive the data sent by the microcontroller

STM32+ULN2003驱动28BYJ4步进电机(根据圈数正转、反转)
随机推荐
FPGA: Use of the development environment Vivado
FPGA: Basic Getting Started LED Lights Blinking
这份阿里强推的并发编程知识点笔记,将是你拿大厂offer的突破口
three物体围绕一周呈球形排列
uniapp 连接ibeacon
Chapter 5: Activiti process shunting judgment, judging to go to different task nodes
What are the standards for electrical engineering
The founder of the DFINITY Foundation talks about the ups and downs of the bear market, and where should DeFi projects go?
012年通过修补_sss_提高扩散模型效率
如何选币与确定对应策略研究
Meteorological data processing example - matlab string cutting matching and R language date matching (data splicing)
Create a Dapp, why choose Polkadot?
还在找网盘资源吗?快点收藏如下几个值得收藏的网盘资源搜索神器吧!
DFINITY 基金会创始人谈熊市沉浮,DeFi 项目该何去何从
How to choose coins and determine the corresponding strategy research
导火索:OAuth 2.0四种授权登录方式必读
【综合类型第 35 篇】程序员的七夕浪漫时刻
电竞、便捷、高效、安全,盘点OriginOS功能的关键词
MySQL data view
Leetcode刷题——623. 在二叉树中增加一行