| 程序包 | 说明 |
|---|---|
| cn.hutool.crypto |
加密解密模块,实现了对JDK中加密解密算法的封装,入口为SecureUtil,实现了:
1.
|
| cn.hutool.crypto.symmetric |
对称加密算法实现,包括AES、DES、DESede等
|
| 限定符和类型 | 方法和说明 |
|---|---|
static SymmetricCrypto |
SmUtil.sm4()
SM4加密,生成随机KEY。
|
static SymmetricCrypto |
SmUtil.sm4(byte[] key)
SM4加密
例: SM4加密:sm4(key).encrypt(data) SM4解密:sm4(key).decrypt(data) |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.String |
SecureUtil.signParams(SymmetricCrypto crypto,
java.util.Map<?,?> params)
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串 拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值 |
static java.lang.String |
SecureUtil.signParams(SymmetricCrypto crypto,
java.util.Map<?,?> params,
java.lang.String separator,
java.lang.String keyValueSeparator,
boolean isIgnoreNull)
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串 |
| 限定符和类型 | 类和说明 |
|---|---|
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。
|
| 限定符和类型 | 方法和说明 |
|---|---|
SymmetricCrypto |
SymmetricCrypto.init(java.lang.String algorithm,
javax.crypto.SecretKey key)
初始化
|
SymmetricCrypto |
SymmetricCrypto.setParams(java.security.spec.AlgorithmParameterSpec params)
设置
AlgorithmParameterSpec,通常用于加盐或偏移向量 |
Copyright © 2019. All rights reserved.