Package | Description |
---|---|
cn.hutool.crypto |
加密解密模块,实现了对JDK中加密解密算法的封装,入口为SecureUtil,实现了:
1.
|
cn.hutool.crypto.symmetric |
对称加密算法实现,包括AES、DES、DESede等
|
Modifier and Type | Method and Description |
---|---|
static String |
SignUtil.signParams(SymmetricCrypto crypto,
Map<?,?> params,
String... otherParams)
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串 拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值 |
static String |
SecureUtil.signParams(SymmetricCrypto crypto,
Map<?,?> params,
String... otherParams)
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串 拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值 |
static String |
SignUtil.signParams(SymmetricCrypto crypto,
Map<?,?> params,
String separator,
String keyValueSeparator,
boolean isIgnoreNull,
String... otherParams)
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串 |
static String |
SecureUtil.signParams(SymmetricCrypto crypto,
Map<?,?> params,
String separator,
String keyValueSeparator,
boolean isIgnoreNull,
String... otherParams)
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串 |
Modifier and Type | Class and Description |
---|---|
class |
AES
AES加密算法实现
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法 对于Java中AES的默认模式是:AES/ECB/PKCS5Padding,如果使用CryptoJS,请调整为:padding: CryptoJS.pad.Pkcs7 相关概念说明: mode: 加密算法模式,是用来描述加密算法(此处特指分组密码,不包括流密码,)在加密时对明文分组的模式,它代表了不同的分组方式 padding: 补码方式是在分组密码中,当明文长度不是分组长度的整数倍时,需要在最后一个分组中填充一些数据使其凑满一个分组的长度。 |
class |
ChaCha20
ChaCha20算法实现
ChaCha系列流密码,作为salsa密码的改良版,具有更强的抵抗密码分析攻击的特性,“20”表示该算法有20轮的加密计算。 |
class |
DES
DES加密算法实现
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法 Java中默认实现为:DES/ECB/PKCS5Padding |
class |
DESede
DESede是由DES对称加密算法改进后的一种对称加密算法,又名3DES、TripleDES。
|
class |
SM4
国密对称堆成加密算法SM4实现
国密算法包括:
非对称加密和签名:SM2
摘要签名算法:SM3
对称加密:SM4
|
class |
ZUC
祖冲之算法集(ZUC算法)实现,基于BouncyCastle实现。
|
Modifier and Type | Method and Description |
---|---|
SymmetricCrypto |
SymmetricCrypto.init(String algorithm,
SecretKey key)
初始化
|
SymmetricCrypto |
SymmetricCrypto.setIv(byte[] iv)
设置偏移向量
|
SymmetricCrypto |
SymmetricCrypto.setIv(IvParameterSpec iv)
设置偏移向量
|
SymmetricCrypto |
SymmetricCrypto.setMode(CipherMode mode)
初始化模式并清空数据
|
SymmetricCrypto |
SymmetricCrypto.setParams(AlgorithmParameterSpec params)
设置
AlgorithmParameterSpec ,通常用于加盐或偏移向量 |
SymmetricCrypto |
SymmetricCrypto.setRandom(SecureRandom random)
设置随机数生成器,可自定义随机数种子
|
Copyright © 2024. All rights reserved.