网站首页 > 博客文章 正文
Jasypt (Java Simplified Encryption) 是Java应用用于对操作中的数据进行加密解密操作的依赖库,提供了Jasypt 2.x 和 Jasypt 3.x 两个主要版本,这两个版本在使用的时候还是有点区别的,下面我们就来看看它们二者在使用过程中都有哪些区别。
主要区别
兼容性
- Jasypt 2.x:是与旧版本的Java进行兼容,例如常用的Java7或者是Java8等。
- Jasypt 3.x:则是与高版本的Java进行兼容,主要就是针对Java11以上的般般,并且增加了相关的新特性的支持。
配置方式
- Jasypt 2.x:在配置过程中比较的繁琐,需要大量的配置才能正常的运行
- Jasypt 3.x:简化了相关的配置过程,特别是在SpringBoot项目中,我们可以通过变量进行引入,使用相对简单。
下面我们就来看看二者在使用上有哪些具体的区别。
添加引用
Jasypt 2.x
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>2.x.x</version>
</dependency>
Jasypt 3.x
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.x.x</version>
</dependency>
这里需要注意,<groupId>org.jasypt</groupId>里面其实是不存在得,有兴趣的读者可以看看在国外的仓库里面有没有,国内的仓库里面是没有这个依赖的,所以应该是如下的这个依赖。
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
加密配置的区别
Jasypt 2.x
在2.x的版本中,通过如下的方式进行数据的加密操作,如下所示。
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setPassword("mySecretKey");
String encryptedText = encryptor.encrypt("myText");
String decryptedText = encryptor.decrypt(encryptedText);
Jasypt 3.x(使用Spring Boot集成)
在3.x的版本中可以直接通过如下的方式来进行配置。
jasypt.encryptor.password=mySecretKey
在代码中不需要显式的进行配置,因为在Spring Boot中会自动进行配置。
与SpringBoot应用的集成
Jasypt 2.x
在Jasypt 2.x中,并没有直接提供对于SpringBoot应用的集成操作,需要手动进行集成并且完成相关的加解密操作。
Jasypt 3.x
在Jasypt 3.x中提供了对于SpringBoot的集成,也就是jasypt-spring-boot-starter,如下所示。
jasypt.encryptor.password=mySecretKey
可以直接进行配置使用。
配置数据
Jasypt 2.x
在Jasypt 2.x中提供的很多参数需要在代码中设置,例如加密算法、迭代次数等。如下所示
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setAlgorithm("PBEWithMD5AndDES");
encryptor.setKeyObtentionIterations(1000);
encryptor.setPassword("mySecretKey");
Jasypt 3.x
在Jasypt 3.x中由于支持了SpringBoot的内容,所以可以通过配置文件的方式来进行操作如下所示。
jasypt.encryptor.algorithm=PBEWithMD5AndDES
jasypt.encryptor.keyObtentionIterations=1000
jasypt.encryptor.password=mySecretKey
其他的特性
在Jasypt 3.x中还引入了关于加密算法的支持以及很多简单高效的配置管理方式,可以更方便地与Spring Boot进行集成和管理配置。
总结
也就是说,Jasypt 3.x相对于Jasypt 2.x在使用方式上有了明显的改进,特别是对于SpringBoot应用的集成,在3.x中有了明显改变,并且随着Java版本的迭代升级Jasypt版本也在迭代升级来适配Java版本的变化,如果你现在正在想用Jasypt进行配置加密操作,建议选择Jasypt 3.x版本,因为它更加高效便捷。
问题
笔者在开发过程中分别引入了如下的两个依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
第二种
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
在这个操作过程中,笔者使用了3.0.4版本但是按照上面的配置完成之后,就会报错,但是使用2.1.0版本按照上述配置就不会报错,所示建议就是在使用的过程中一定要注意相关的版本依赖问题,以及加密的方式的问题。
猜你喜欢
- 2024-11-13 spring boot配置文件敏感字段加密
- 2024-11-13 Spring Boot数据库密码加密的配置方法
- 2024-11-13 Spring Boot安全之application配置信息加密
- 2024-11-13 如何在SpringBoot项目中实现加密?
- 2024-11-13 SpringBoot进阶-SpringBoot如何实现配置文件脱敏?
- 2024-11-13 加密SpringBoot配置文件技巧(加密pdf文件如何解密编辑)
- 2024-11-13 Spring Boot版本和Jasypt版本的兼容性问题?
- 2024-11-13 SpringBoot加密配置属性(springboot配置密码加密)
- 2024-11-13 SpringCloud-OAuth2(二):实战篇(oauth2.0 springcloud)
- 2024-11-13 SpringBoot 配置文件这样加密,才足够安全!
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)