update 优化EncryptUtils因data为null报异常

This commit is contained in:
Mr. Liang 2025-08-02 16:05:53 +08:00
parent 0ba909c52e
commit ccbbb61807

View File

@ -8,6 +8,7 @@ import cn.hutool.crypto.SmUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import cn.hutool.crypto.asymmetric.SM2;
import org.dromara.common.core.utils.StringUtils;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
@ -37,6 +38,9 @@ public class EncryptUtils {
* @return 加密后字符串
*/
public static String encryptByBase64(String data) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
return Base64.encode(data, StandardCharsets.UTF_8);
}
@ -47,6 +51,9 @@ public class EncryptUtils {
* @return 解密后字符串
*/
public static String decryptByBase64(String data) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
return Base64.decodeStr(data, StandardCharsets.UTF_8);
}
@ -58,6 +65,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Base64编码
*/
public static String encryptByAes(String data, String password) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(password)) {
throw new IllegalArgumentException("AES需要传入秘钥信息");
}
@ -77,6 +87,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Hex编码
*/
public static String encryptByAesHex(String data, String password) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(password)) {
throw new IllegalArgumentException("AES需要传入秘钥信息");
}
@ -96,6 +109,9 @@ public class EncryptUtils {
* @return 解密后字符串
*/
public static String decryptByAes(String data, String password) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(password)) {
throw new IllegalArgumentException("AES需要传入秘钥信息");
}
@ -115,6 +131,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Base64编码
*/
public static String encryptBySm4(String data, String password) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(password)) {
throw new IllegalArgumentException("SM4需要传入秘钥信息");
}
@ -134,6 +153,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Hex编码
*/
public static String encryptBySm4Hex(String data, String password) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(password)) {
throw new IllegalArgumentException("SM4需要传入秘钥信息");
}
@ -153,6 +175,9 @@ public class EncryptUtils {
* @return 解密后字符串
*/
public static String decryptBySm4(String data, String password) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(password)) {
throw new IllegalArgumentException("SM4需要传入秘钥信息");
}
@ -185,6 +210,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Base64编码
*/
public static String encryptBySm2(String data, String publicKey) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(publicKey)) {
throw new IllegalArgumentException("SM2需要传入公钥进行加密");
}
@ -200,6 +228,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Hex编码
*/
public static String encryptBySm2Hex(String data, String publicKey) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(publicKey)) {
throw new IllegalArgumentException("SM2需要传入公钥进行加密");
}
@ -215,6 +246,9 @@ public class EncryptUtils {
* @return 解密后字符串
*/
public static String decryptBySm2(String data, String privateKey) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(privateKey)) {
throw new IllegalArgumentException("SM2需要传入私钥进行解密");
}
@ -243,6 +277,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Base64编码
*/
public static String encryptByRsa(String data, String publicKey) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(publicKey)) {
throw new IllegalArgumentException("RSA需要传入公钥进行加密");
}
@ -258,6 +295,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Hex编码
*/
public static String encryptByRsaHex(String data, String publicKey) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(publicKey)) {
throw new IllegalArgumentException("RSA需要传入公钥进行加密");
}
@ -273,6 +313,9 @@ public class EncryptUtils {
* @return 解密后字符串
*/
public static String decryptByRsa(String data, String privateKey) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
if (StrUtil.isBlank(privateKey)) {
throw new IllegalArgumentException("RSA需要传入私钥进行解密");
}
@ -287,6 +330,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Hex编码
*/
public static String encryptByMd5(String data) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
return SecureUtil.md5(data);
}
@ -297,6 +343,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Hex编码
*/
public static String encryptBySha256(String data) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
return SecureUtil.sha256(data);
}
@ -307,6 +356,9 @@ public class EncryptUtils {
* @return 加密后字符串, 采用Hex编码
*/
public static String encryptBySm3(String data) {
if (StringUtils.isBlank(data)) {
return StringUtils.EMPTY;
}
return SmUtil.sm3(data);
}