基于hutool的MD5加密以及hutool的一些常用工具

时间:2024-01-03 18:10:41 买帖  | 投诉/举报

篇首语:本文由小编为大家整理,主要介绍了基于hutool的MD5加密以及hutool的一些常用工具相关的知识,希望对你有一定的参考价值。

直接上干货!

第一步:添加依赖

maven 在项目的pom.xml的dependencies中加入以下内容:

<dependency>    <groupId>cn.hutool</groupId>    <artifactId>hutool-all</artifactId>    <version>5.5.2</version></dependency>

如果不是maven项目,需要去官网下载jar包,安装到项目中,

hutool官网:hutool官网地址

第二步:使用

第一种:String encode = DigestUtil.md5Hex(“abcdefg”);

第二种:String encode =SecureUtil.md5(“abcdefg”);

其它的进行一下扩展:

Convert类

Convert类可以说是一个工具方法类,里面封装了针对Java常见类型的转换,用于简化类型转换。Convert类中大部分方法为toXXX,参数为Object,可以实现将任意可能的类型转换为指定类型。同时支持第二个参数defaultValue用于在转换失败时返回一个默认值。

使用示例:

转换为字符串:Convert.toStr(b);

转换为日期对象:Convert.toDate(a);

等等,还有很多,根据自己的使用场景进行调用!

LocalDateTime工具-LocalDateTimeUtil

字符串工具-StrUtil

Hutool-http

等等这些都是很好用的工具!

点赞hutool!

使用 Hutool 处理 RSA 等非对称加密

Hutool工具是一个国产开源Java工具集,旨在简化Java开发中繁琐的过程,Hutool-crypto模块便是针对JDK加密解密做了大大简化。此文主要介绍利用Hutool-crypto简化非对称加密解密。对于非对称加密,最常用的就是RSA和DSA,在Hutool中使用`AsymmetricCrypto`对象来负责加密解密。

介绍


Hutool工具是一个国产开源Java工具集,旨在简化Java开发中繁琐的过程,Hutool-crypto模块便是针对JDK加密解密做了大大简化。

此文主要介绍利用Hutool-crypto简化非对称加密解密。

对于非对称加密,最常用的就是RSA和DSA,在Hutool中使用AsymmetricCrypto对象来负责加密解密。

非对称加密有公钥和私钥两个概念,私钥自己拥有,不能给别人,公钥公开。根据应用的不同,我们可以选择使用不同的密钥加密:

  1. 签名:使用私钥加密,公钥解密。用于让所有公钥所有者验证私钥所有者的身份并且用来防止私钥所有者发布的内容被篡改,但是不用来保证内容不被他人获得。

  2. 加密:用公钥加密,私钥解密。用于向公钥所有者发布信息,这个信息可能被他人篡改,但是无法被他人获得。


使用


引入Hutool

在非对称加密中,我们可以通过AsymmetricCrypto(AsymmetricAlgorithm algorithm)构造方法,通过传入不同的算法枚举,获得其加密解密器。

当然,为了方便,我们针对最常用的RSA和DSA算法构建了单独的对象:RSA和DSA。


基本使用


我们以RSA为例,介绍使用RSA加密和解密 在构建RSA对象时,可以传入公钥或私钥,当使用无参构造方法时,Hutool将自动生成随机的公钥私钥密钥对:

对于加密和解密可以完全分开,对于RSA对象,如果只使用公钥或私钥,另一个参数可以为null

自助生成密钥对

有时候我们想自助生成密钥对可以:

自助生成的密钥对是byte[]形式,我们可以使用Base64.encode方法转为Base64,便于存储为文本。

当然,如果使用RSA对象,也可以使用encryptStr和decryptStr加密解密为字符串


案例


已知私钥和密文,如何解密密文?




推荐阅读




点击“阅读原文”查看更多精彩内容

以上是关于基于hutool的MD5加密以及hutool的一些常用工具的主要内容,如果未能解决你的问题,请参考以下文章