This commit is contained in:
Looly
2022-04-29 01:46:01 +08:00
parent b2f0dc7b0f
commit c753a53173
561 changed files with 1532 additions and 4201 deletions

View File

@@ -1,7 +1,7 @@
package cn.hutool.crypto;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
/**
* 加密异常

View File

@@ -7,7 +7,7 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.asymmetric.AsymmetricAlgorithm;
import cn.hutool.crypto.symmetric.SymmetricAlgorithm;

View File

@@ -2,7 +2,7 @@ package cn.hutool.crypto;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import org.bouncycastle.util.io.pem.PemObject;
import org.bouncycastle.util.io.pem.PemObjectGenerator;
import org.bouncycastle.util.io.pem.PemReader;

View File

@@ -4,7 +4,7 @@ import cn.hutool.core.codec.Base64;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.asymmetric.AsymmetricAlgorithm;
import cn.hutool.crypto.asymmetric.RSA;
import cn.hutool.crypto.asymmetric.Sign;

View File

@@ -1,7 +1,7 @@
package cn.hutool.crypto;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.asymmetric.Sign;
import cn.hutool.crypto.asymmetric.SignAlgorithm;
import cn.hutool.crypto.digest.DigestAlgorithm;

View File

@@ -5,7 +5,7 @@ import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.SecureUtil;
import java.io.InputStream;
@@ -80,7 +80,7 @@ public interface AsymmetricDecryptor {
* @since 4.5.2
*/
default String decryptStr(String data, KeyType keyType) {
return decryptStr(data, keyType, CharsetUtil.CHARSET_UTF_8);
return decryptStr(data, keyType, CharsetUtil.UTF_8);
}
/**
@@ -92,7 +92,7 @@ public interface AsymmetricDecryptor {
* @since 4.1.0
*/
default byte[] decryptFromBcd(String data, KeyType keyType) {
return decryptFromBcd(data, keyType, CharsetUtil.CHARSET_UTF_8);
return decryptFromBcd(data, keyType, CharsetUtil.UTF_8);
}
/**
@@ -132,6 +132,6 @@ public interface AsymmetricDecryptor {
* @since 4.5.2
*/
default String decryptStrFromBcd(String data, KeyType keyType) {
return decryptStrFromBcd(data, keyType, CharsetUtil.CHARSET_UTF_8);
return decryptStrFromBcd(data, keyType, CharsetUtil.UTF_8);
}
}

View File

@@ -6,7 +6,7 @@ import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import java.io.InputStream;
import java.nio.charset.Charset;
@@ -187,7 +187,7 @@ public interface AsymmetricEncryptor {
* @since 4.1.0
*/
default String encryptBcd(String data, KeyType keyType) {
return encryptBcd(data, keyType, CharsetUtil.CHARSET_UTF_8);
return encryptBcd(data, keyType, CharsetUtil.UTF_8);
}
/**

View File

@@ -5,7 +5,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.CryptoException;
import cn.hutool.crypto.SecureUtil;
@@ -207,7 +207,7 @@ public class Sign extends BaseAsymmetric<Sign> {
* @since 5.7.0
*/
public byte[] sign(String data) {
return sign(data, CharsetUtil.CHARSET_UTF_8);
return sign(data, CharsetUtil.UTF_8);
}
/**
@@ -230,7 +230,7 @@ public class Sign extends BaseAsymmetric<Sign> {
* @since 5.7.0
*/
public String signHex(String data) {
return signHex(data, CharsetUtil.CHARSET_UTF_8);
return signHex(data, CharsetUtil.UTF_8);
}
/**

View File

@@ -437,7 +437,7 @@ public class BCrypt {
rounds = Integer.parseInt(salt.substring(off, off + 2));
real_salt = salt.substring(off + 3, off + 25);
byte[] passwordb = (password + (minor >= 'a' ? "\000" : "")).getBytes(CharsetUtil.CHARSET_UTF_8);
byte[] passwordb = (password + (minor >= 'a' ? "\000" : "")).getBytes(CharsetUtil.UTF_8);
saltb = decodeBase64(real_salt, BCRYPT_SALT_LEN);
bcrypt = new BCrypt();
@@ -521,8 +521,8 @@ public class BCrypt {
// 生成密文时错误直接返回false issue#1377@Github
return false;
}
hashed_bytes = hashed.getBytes(CharsetUtil.CHARSET_UTF_8);
try_bytes = try_pw.getBytes(CharsetUtil.CHARSET_UTF_8);
hashed_bytes = hashed.getBytes(CharsetUtil.UTF_8);
try_bytes = try_pw.getBytes(CharsetUtil.UTF_8);
if (hashed_bytes.length != try_bytes.length) {
return false;
}

View File

@@ -44,7 +44,7 @@ public class DigestUtil {
* @return MD5摘要
*/
public static byte[] md5(String data) {
return md5(data, CharsetUtil.UTF_8);
return md5(data, CharsetUtil.NAME_UTF_8);
}
/**
@@ -107,7 +107,7 @@ public class DigestUtil {
* @return MD5摘要的16进制表示
*/
public static String md5Hex(String data) {
return md5Hex(data, CharsetUtil.UTF_8);
return md5Hex(data, CharsetUtil.NAME_UTF_8);
}
/**
@@ -163,7 +163,7 @@ public class DigestUtil {
* @since 4.6.0
*/
public static String md5Hex16(String data) {
return md5Hex16(data, CharsetUtil.CHARSET_UTF_8);
return md5Hex16(data, CharsetUtil.UTF_8);
}
/**
@@ -229,7 +229,7 @@ public class DigestUtil {
* @return MD5摘要
*/
public static byte[] sha1(String data) {
return sha1(data, CharsetUtil.UTF_8);
return sha1(data, CharsetUtil.NAME_UTF_8);
}
/**
@@ -280,7 +280,7 @@ public class DigestUtil {
* @return SHA-1摘要的16进制表示
*/
public static String sha1Hex(String data) {
return sha1Hex(data, CharsetUtil.UTF_8);
return sha1Hex(data, CharsetUtil.NAME_UTF_8);
}
/**
@@ -336,7 +336,7 @@ public class DigestUtil {
* @since 3.0.8
*/
public static byte[] sha256(String data) {
return sha256(data, CharsetUtil.UTF_8);
return sha256(data, CharsetUtil.NAME_UTF_8);
}
/**
@@ -392,7 +392,7 @@ public class DigestUtil {
* @since 3.0.8
*/
public static String sha256Hex(String data) {
return sha256Hex(data, CharsetUtil.UTF_8);
return sha256Hex(data, CharsetUtil.NAME_UTF_8);
}
/**

View File

@@ -6,7 +6,7 @@ import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.CryptoException;
import cn.hutool.crypto.SecureUtil;
@@ -189,7 +189,7 @@ public class Digester implements Serializable {
* @return 摘要
*/
public byte[] digest(String data) {
return digest(data, CharsetUtil.CHARSET_UTF_8);
return digest(data, CharsetUtil.UTF_8);
}
/**
@@ -222,7 +222,7 @@ public class Digester implements Serializable {
* @return 摘要
*/
public String digestHex(String data) {
return digestHex(data, CharsetUtil.UTF_8);
return digestHex(data, CharsetUtil.NAME_UTF_8);
}
/**

View File

@@ -5,7 +5,7 @@ import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.CryptoException;
import java.io.ByteArrayInputStream;
@@ -69,7 +69,7 @@ public class Mac implements Serializable {
* @return 摘要
*/
public byte[] digest(String data) {
return digest(data, CharsetUtil.CHARSET_UTF_8);
return digest(data, CharsetUtil.UTF_8);
}
/**
@@ -80,7 +80,7 @@ public class Mac implements Serializable {
* @return 摘要
*/
public String digestBase64(String data, boolean isUrlSafe) {
return digestBase64(data, CharsetUtil.CHARSET_UTF_8, isUrlSafe);
return digestBase64(data, CharsetUtil.UTF_8, isUrlSafe);
}
/**
@@ -114,7 +114,7 @@ public class Mac implements Serializable {
* @return 摘要
*/
public String digestHex(String data) {
return digestHex(data, CharsetUtil.CHARSET_UTF_8);
return digestHex(data, CharsetUtil.UTF_8);
}
/**

View File

@@ -1,6 +1,6 @@
package cn.hutool.crypto.digest.otp;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.digest.HmacAlgorithm;
import java.time.Duration;

View File

@@ -1,7 +1,7 @@
package cn.hutool.crypto.symmetric;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.KeyUtil;
import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;

View File

@@ -3,7 +3,7 @@ package cn.hutool.crypto.symmetric;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;
import cn.hutool.crypto.SecureUtil;
@@ -12,7 +12,7 @@ import cn.hutool.crypto.SecureUtil;
* DES加密算法实现<br>
* DES全称为Data Encryption Standard即数据加密标准是一种使用密钥加密的块算法<br>
* Java中默认实现为DES/CBC/PKCS5Padding
*
*
* @author Looly
* @since 3.0.8
*/
@@ -29,7 +29,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造使用默认的DES/CBC/PKCS5Padding
*
*
* @param key 密钥
*/
public DES(byte[] key) {
@@ -38,7 +38,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造,使用随机密钥
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
*/
@@ -48,7 +48,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥长度8的倍数
@@ -59,7 +59,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥长度8的倍数
@@ -72,7 +72,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥长度8的倍数
@@ -84,7 +84,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥长度8的倍数
@@ -97,7 +97,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
*/
@@ -107,7 +107,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
* @param key 密钥长度8的倍数
@@ -118,7 +118,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
* @param key 密钥长度8的倍数
@@ -130,7 +130,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
* @param key 密钥长度8的倍数
@@ -141,7 +141,7 @@ public class DES extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
* @param key 密钥长度8的倍数

View File

@@ -3,7 +3,7 @@ package cn.hutool.crypto.symmetric;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;
import cn.hutool.crypto.SecureUtil;
@@ -13,7 +13,7 @@ import cn.hutool.crypto.SecureUtil;
* 使用 168 位的密钥对资料进行三次加密的一种机制;它通常(但非始终)提供极其强大的安全性。<br>
* 如果三个 56 位的子元素都相同,则三重 DES 向后兼容 DES。<br>
* Java中默认实现为DESede/ECB/PKCS5Padding
*
*
* @author Looly
* @since 3.3.0
*/
@@ -30,7 +30,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造使用默认的DESede/ECB/PKCS5Padding
*
*
* @param key 密钥
*/
public DESede(byte[] key) {
@@ -39,7 +39,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造,使用随机密钥
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
*/
@@ -49,7 +49,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥长度24位
@@ -60,7 +60,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥长度24位
@@ -73,7 +73,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥长度24位
@@ -85,7 +85,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式{@link Mode}
* @param padding {@link Padding}补码方式
* @param key 密钥长度24位
@@ -98,7 +98,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
*/
@@ -108,7 +108,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
* @param key 密钥长度24位
@@ -119,7 +119,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
* @param key 密钥长度24位
@@ -131,7 +131,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
* @param key 密钥
@@ -142,7 +142,7 @@ public class DESede extends SymmetricCrypto {
/**
* 构造
*
*
* @param mode 模式
* @param padding 补码方式
* @param key 密钥

View File

@@ -3,7 +3,7 @@ package cn.hutool.crypto.symmetric;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.CryptoException;
import cn.hutool.crypto.SecureUtil;
@@ -62,7 +62,7 @@ public class RC4 implements Serializable {
* @throws CryptoException key长度小于5或者大于255抛出此异常
*/
public byte[] encrypt(String message) throws CryptoException {
return encrypt(message, CharsetUtil.CHARSET_UTF_8);
return encrypt(message, CharsetUtil.UTF_8);
}
/**
@@ -154,7 +154,7 @@ public class RC4 implements Serializable {
* @throws CryptoException key长度小于5或者大于255抛出此异常
*/
public String decrypt(byte[] message) throws CryptoException {
return decrypt(message, CharsetUtil.CHARSET_UTF_8);
return decrypt(message, CharsetUtil.UTF_8);
}
/**

View File

@@ -1,7 +1,7 @@
package cn.hutool.crypto.symmetric;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;
import cn.hutool.crypto.SecureUtil;

View File

@@ -7,7 +7,7 @@ import cn.hutool.core.lang.Opt;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.CipherMode;
import cn.hutool.crypto.CipherWrapper;
import cn.hutool.crypto.CryptoException;

View File

@@ -3,7 +3,7 @@ package cn.hutool.crypto.symmetric;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.SecureUtil;
import java.io.InputStream;
@@ -58,7 +58,7 @@ public interface SymmetricDecryptor {
* @return 解密后的String
*/
default String decryptStr(byte[] bytes) {
return decryptStr(bytes, CharsetUtil.CHARSET_UTF_8);
return decryptStr(bytes, CharsetUtil.UTF_8);
}
/**
@@ -89,7 +89,7 @@ public interface SymmetricDecryptor {
* @return 解密后的String
*/
default String decryptStr(String data) {
return decryptStr(data, CharsetUtil.CHARSET_UTF_8);
return decryptStr(data, CharsetUtil.UTF_8);
}
/**
@@ -121,6 +121,6 @@ public interface SymmetricDecryptor {
* @return 解密后的String
*/
default String decryptStr(InputStream data) {
return decryptStr(data, CharsetUtil.CHARSET_UTF_8);
return decryptStr(data, CharsetUtil.UTF_8);
}
}

View File

@@ -5,7 +5,7 @@ import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrUtil;
import java.io.InputStream;
import java.io.OutputStream;
@@ -136,7 +136,7 @@ public interface SymmetricEncryptor {
* @return 加密后的bytes
*/
default byte[] encrypt(String data) {
return encrypt(StrUtil.bytes(data, CharsetUtil.CHARSET_UTF_8));
return encrypt(StrUtil.bytes(data, CharsetUtil.UTF_8));
}
/**