From 6fba25ad7d08642015f6983f16fe845b5228a1ea Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 8 Jan 2024 19:03:27 +0800 Subject: [PATCH] add methods --- .../org/dromara/hutool/crypto/KeyUtil.java | 18 ++++++++++++++++++ .../dromara/hutool/crypto/bc/ECKeyUtil.java | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/hutool-crypto/src/main/java/org/dromara/hutool/crypto/KeyUtil.java b/hutool-crypto/src/main/java/org/dromara/hutool/crypto/KeyUtil.java index be4eb5a98..43784426e 100644 --- a/hutool-crypto/src/main/java/org/dromara/hutool/crypto/KeyUtil.java +++ b/hutool-crypto/src/main/java/org/dromara/hutool/crypto/KeyUtil.java @@ -64,6 +64,7 @@ public class KeyUtil { public static final int DEFAULT_KEY_SIZE = 1024; // region ----- generateKey + /** * 生成 {@link SecretKey},仅用于对称加密和摘要算法密钥生成 * @@ -196,7 +197,24 @@ public class KeyUtil { } // endregion + /** + * 检查{@link KeyPair} 是否为空,空的条件是: + * + * + * @param keyPair 密钥对 + * @return 是否为空 + */ // region ----- keyPair + public static boolean isEmpty(final KeyPair keyPair) { + if (null == keyPair) { + return false; + } + return null != keyPair.getPrivate() || null != keyPair.getPublic(); + } + /** * 生成RSA私钥,仅用于非对称加密
* 采用PKCS#8规范,此规范定义了私钥信息语法和加密私钥语法
diff --git a/hutool-crypto/src/main/java/org/dromara/hutool/crypto/bc/ECKeyUtil.java b/hutool-crypto/src/main/java/org/dromara/hutool/crypto/bc/ECKeyUtil.java index 040c614c4..864d88824 100644 --- a/hutool-crypto/src/main/java/org/dromara/hutool/crypto/bc/ECKeyUtil.java +++ b/hutool-crypto/src/main/java/org/dromara/hutool/crypto/bc/ECKeyUtil.java @@ -435,6 +435,9 @@ public class ECKeyUtil { * @since 5.5.9 */ public static ECPrivateKeyParameters decodePrivateKeyParams(final byte[] privateKeyBytes) { + if (null == privateKeyBytes) { + return null; + } try { // 尝试D值 return toSm2PrivateParams(privateKeyBytes); @@ -468,6 +471,9 @@ public class ECKeyUtil { * @since 5.5.9 */ public static ECPublicKeyParameters decodePublicKeyParams(final byte[] publicKeyBytes) { + if(null == publicKeyBytes){ + return null; + } try { // 尝试Q值 return toSm2PublicParams(publicKeyBytes);