add test and change AES costructor

This commit is contained in:
Looly
2021-09-07 23:54:57 +08:00
parent c50a63a196
commit 4c237ba95e
6 changed files with 119 additions and 13 deletions

View File

@@ -8,6 +8,7 @@ import cn.hutool.crypto.Padding;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import java.security.spec.AlgorithmParameterSpec;
/**
* AES加密算法实现<br>
@@ -121,14 +122,14 @@ public class AES extends SymmetricCrypto {
/**
* 构造
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥支持三种密钥长度128、192、256位
* @param iv 偏移向量,加盐
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥支持三种密钥长度128、192、256位
* @param paramsSpec 算法参数,例如加盐
* @since 3.3.0
*/
public AES(Mode mode, Padding padding, SecretKey key, IvParameterSpec iv) {
this(mode.name(), padding.name(), key, iv);
public AES(Mode mode, Padding padding, SecretKey key, AlgorithmParameterSpec paramsSpec) {
this(mode.name(), padding.name(), key, paramsSpec);
}
/**
@@ -180,13 +181,13 @@ public class AES extends SymmetricCrypto {
/**
* 构造
*
* @param mode 模式
* @param padding 补码方式
* @param key 密钥支持三种密钥长度128、192、256位
* @param iv 加盐
* @param mode 模式
* @param padding 补码方式
* @param key 密钥支持三种密钥长度128、192、256位
* @param paramsSpec 算法参数,例如加盐
*/
public AES(String mode, String padding, SecretKey key, IvParameterSpec iv) {
super(StrUtil.format("AES/{}/{}", mode, padding), key, iv);
public AES(String mode, String padding, SecretKey key, AlgorithmParameterSpec paramsSpec) {
super(StrUtil.format("AES/{}/{}", mode, padding), key, paramsSpec);
}
//------------------------------------------------------------------------- Constrctor end
}