Java使用Hutool工具完成加密解密

本文介绍了如何在Java中使用Hutool库进行对称加密和非对称加密,包括AES和DES加密算法,ECB和CBC加密模式,PKCS5Padding填充模式,以及RSA非对称加密算法的使用。还提到了摘要加密,如MD5和SHA系列算法,确保数据安全。
摘要由CSDN通过智能技术生成

说明

POM

使用Hutool加密解密工具时,引入如下依赖

<dependency>    
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-crypto</artifactId>
    <version>5.7.15</version>
</dependency>

对称加密与非对称加密

对称加密

加密算法

  • 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
  • 常见加密算法
    • DES(Data Encryption Standard):即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。
    • AES(Advanced Encryption Standard):高级加密标准.在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
  • 特点
    • 加密速度快, 可以加密大文件
    • 密文可逆, 一旦密钥文件泄漏,就会导致数据暴露
    • 加密后编码表找不到对应字符,出现乱码,一般结合Base64使用

加密模式

  • ECB(Electronic codebook):电子密码本。需要加密的消息按照块密码的块大小被分为数个块,并对每个块进行独立加密<br>
  •  
    • 优点:可以并行处理数据
    • 缺点:同样的原文生成同样的密文,不能很好的保护数据
    • 同时加密,原文是一样的,加密出来的密文也是一样的
  • CBC(Cipher-block chaining):密码块链接。每个明文块先与前一个密文块进行异或后&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值