Package | Description |
---|---|
cn.hutool.crypto |
加密解密模块,实现了对JDK中加密解密算法的封装,入口为SecureUtil,实现了:
|
cn.hutool.crypto.symmetric |
对称加密算法实现,包括AES、DES、DESede等
|
Modifier and Type | Method and Description |
---|---|
static SymmetricCrypto |
SmUtil.sm4(byte[] key)
SM4加密
例: |
Modifier and Type | Method and Description |
---|---|
static String |
SecureUtil.signParams(SymmetricCrypto crypto,
Map<?,?> params,
String... otherParams)
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串 拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值 |
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 |
class |
DES
DES加密算法实现
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法 Java中默认实现为:DES/CBC/PKCS5Padding |
class |
DESede
DESede是由DES对称加密算法改进后的一种对称加密算法,又名3DES、TripleDES。
使用 168 位的密钥对资料进行三次加密的一种机制;它通常(但非始终)提供极其强大的安全性。 如果三个 56 位的子元素都相同,则三重 DES 向后兼容 DES。 Java中默认实现为:DESede/ECB/PKCS5Padding |
class |
SM4
SM4实现
|
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.setParams(AlgorithmParameterSpec params)
设置
AlgorithmParameterSpec ,通常用于加盐或偏移向量 |
Copyright © 2021. All rights reserved.