jasypt加解密

项目中经常遇到jasypt加解密的配置文件,尤其是项目不是自己创建的时候,压根不知道加密的内容是什么,而配置文件中一般加密的也都是数据库或其他非结构型数据库的账号或密码,这时候想要看一下db的内容就非常的头疼,除了debug去查找对应解密后的密码外,我们还可以用命令行来进行加解密。

背景:
我们需要找到配置文件中加密配置项的3个参数信息。后续文中 ***** 都是自己项目实际的加密需要的password(盐),不在另行说明!

jasypt:encryptor:password: *****algorithm: PBEWithMD5AndDESiv-generator-classname: org.jasypt.iv.NoIvGenerator

同时需要找到自己maven包中jasypt的jar的位置,比如我的在
D:\work\apache-maven-3.8.1-work\repo\org\jasypt\jasypt\1.9.3

接下来开始实操

一、加密
加密我们用到是org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI类,so~命令如下:

java -cp D:\work\apache-maven-3.8.1-work\repo\org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="12345" password='*****' algorithm="PBEWithMD5AndDES" ivGeneratorClassName=org.jasypt.iv.NoIvGenerator


可以看到我已经通过jasypt12345加密为OgwKWDG7kqgoUMEa8m5McA==,当然实际项目中则是ENC(OgwKWDG7kqgoUMEa8m5McA==)

二、解密
加密我们用到是org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI类,so~命令如下:

java -cp D:\work\apache-maven-3.8.1-work\repo\org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="OgwKWDG7kqgoUMEa8m5McA==" password='*****' algorithm="PBEWithMD5AndDES" ivGeneratorClassName=org.jasypt.iv.NoIvGenerator


同理,可以看到我们已经通过jasyptOgwKWDG7kqgoUMEa8m5McA==解密为12345,这时你就可以通过其他DB链接配置查询DB中的内容了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OSDI 2023

17th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2023, Boston, MA, USA, July 10-12, 2023. 第17届USENIX操作系统设计与实现研讨会,OSDI 2023,2023年7月10-12日,美国马萨诸塞州波士顿。 1. Ship your Criti…

【爬虫】– 抓取原创力文档数据

使用RPA工具,实现针对于原创力中不可下载文档的抓取,可延用于其他类似文库 1 使用工具、环境 影刀RPA、WPS Office、谷歌浏览器(非指定) 2 代码流程 3 关键点 此方案只适合抓取非VIP即可预览全文的文档,抓取下来的数…

B007-springcloud alibaba 消息驱动 Rocketmq

目录 MQ简介什么是MQMQ的应用场景异步解耦流量削峰 常见的MQ产品 RocketMQ入门RocketMQ环境搭建环境准备安装RocketMQ启动RocketMQ测试RocketMQ关闭RocketMQ RocketMQ的架构及概念RocketMQ控制台安装 消息发送和接收演示发送消息接收消息 案例订单微服务发送消息用户微服务订阅…

(done) 解释 python3 torch.utils.data DataLoader

特别注意:DataLoader 返回的迭代器是无尽的,依据如下 (CHATGPT3.5) DataLoader 返回的迭代器默认情况下是无尽的,因为它会无限地循环遍历数据集,以提供批量的数据。在训练神经网络时,通常会使用无尽的迭代器来循环遍历…

LEETCODE 100255. 成为 K 特殊字符串需要删除的最少字符数

整体思路: 1.可以看到这道题是要求是最小的,那么可以想到遍历所有情况 2.把题干已知条件转换为一个数组,那么只需要以数组每个元素为开头遍历所有情况即可。 3.对于一个数考虑其后面的情况,其后每个数等于这个数k和数本身的最小值(遍历累计求…

spring boot 运行mongodb sql

因项目数据放到了Mongodb 中,需在Mongodb 中查询数据,网上找了好久总算找到了实现方式 借用本地命令号读取命令行数据 主要是分2步: 1、下载 sql-to-mongo-db-query-converter 这个是一个3放插件 作用是将sql语句转成 Mongodb shell 语句…

2024数据结构面试常见问题

大家好!今天我要和大家分享的是2024年数据结构面试常见问题。无论你是编程新手,还是有一定基础的开发者,掌握这些数据结构面试问题,都将助你在面试中脱颖而出,赢得心仪的offer。 下面,我们就一起来学习这些…

参数高效微调(PEFT)技术概览

参数高效微调(PEFT)技术概览 在大型语言模型(LLMs)的世界里,参数量庞大,通常在70亿至700亿之间。这些模型的自监着训练成本高昂,对公司可能意味着高达1亿美元的支出。而对于资源相对有限的研究…

rlwrap安装

引言 我们在使用sqlplus对oracle数据库进行操作的时候,难免会出现这样一种情况:写完一长串命令后发现中间有书写错误的地方,这个时候如果我们想移动光标去修正错误的地方,会出现类似如下的现象: SQL> select name…

python的封装应用

封装在Python中有许多应用场景,其中一些主要的应用包括: 隐藏实现细节: 通过将数据和实现细节封装在类内部,可以隐藏对象的内部状态和实现细节,从而提高代码的安全性和可维护性。 class BankAccount: def __init…

Codeforces Round 934 (Div. 2) --- C. MEX Game 1 --- 题解

C. MEX Game 1: 题目大意: 思路解析: 重要的是那种只有一个的数字,因为如果这个数字有两个及以上,那么我可以再鲍勃删除之后,再拿,也一定能拿得到,所以瓶颈是只有一个的数字&#x…

爬虫3_爬取翻页URL不变的网站

之前实现了对大学排数据爬取:爬虫2_2019年549所中国大学排名. 近期复现代码,发现原网站升级,在翻页时,发现URL不改变,修改代码,使用网页自动化工具selenium实现对该类网站数据获取。 #-*- coding: UTF-8 -…

活动图高阶讲解-06

31 00:01:52,300 --> 00:02:04,300 刚才讲了,活动里面是动作 32 00:02:04,300 --> 00:02:06,300 这个动作 33 00:02:06,300 --> 00:02:09,300 就可以看作活动的一个 34 00:02:09,300 --> 00:02:13,300 里面的实现的一个行为了 35 00:02:16,300 --&g…

复制word文档,合并word文档

背景 现在有一个需求,需要将多个word文档合并为一个文档,并使用poi-el渲染模板生成一个新的文档。 在网上找了很多,没找到合适的,最后摸索出一个可行方案,基于XWPFDocument.getBodyElements方法的。 其实一开始考虑过…

vue项目跳转html页面

1. 把html页面以及相关文件放到public文件夹下(目的和index.html同级) 2.在vue项目中正常写跳转事件,只是路径写法需要注意

【理解指针(三)】

文章目录 一、数组名的理解(1)数组的地址与数组首元素地址的区别 二、使用指针访问数组(1)一维数组传参的本质 三、冒泡排序(1)什么是冒泡排序(2)写冒泡排序 四、结束语 一、数组名的…

堆排序(向下调整法,向上调整法详解)

目录 一、 二叉树的顺序结构 二、 堆的概念及结构 三、数组存储、顺序存储的规律 此处可能会有疑问,左右孩子的父节点计算为什么可以归纳为一个结论了? 四、大小堆解释 五、大小堆的实现(向上和向下调整法) 5.11向上调整法…

Unity Timeline学习笔记(1) - 创建TL和添加动画片段

Timeline在刚出的时候学习了一下,但是因为一些原因一直都没用在工作中使用。 版本也迭代了很久不用都不会用了,抽时间回顾和复习一下,做一个笔记后面可以翻出来看。 创建Timeline 首先我们创建一个场景,放入一个Plane地板&#…

Linux操作系统-08-常用的网络相关命令

1、ping命令 在linux下ping的话会一直ping下去,在windows下的话它会只ping四次就结束, [rootbastion ~]# ping 192.168.0.102 PING 192.168.0.102 (192.168.0.102) 56(84) bytes of data. 64 bytes from 192.168.0.102: icmp_seq1 ttl64 time0.571 ms…

Linux - 线程互斥和互斥锁

文章目录 前言一、为什么要线程互斥原子性 二、互斥锁互斥锁的创建与销毁互斥锁进行互斥 前言 前几节课,我们学习了多线程的基础概念,这节课,我们来对线程互斥和互斥锁的内容进行学习。 一、为什么要线程互斥 首先我们要明白,对…