diff --git a/CHANGELOG.md b/CHANGELOG.md index ecdb152d1..33e729169 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ # 🚀Changelog ------------------------------------------------------------------------------------------------------------- -# 5.8.33(2024-10-29) +# 5.8.33(2024-10-30) ### 🐣新特性 * 【core 】 SyncFinisher增加setExecutorService方法(issue#IANKQ1@Gitee) @@ -18,6 +18,7 @@ * 【core 】 EscapeUtil.escapeHtml4增加空处理(issue#IAZMYU@Gitee) * 【core 】 PropDesc.isTransientForGet使用className,避免Android下类找不到问题(issue#IB0JP5@Gitee) * 【core 】 优化NumberUtil.count(pr#3772@Github) +* 【crypto 】 SM2.signHex改名为signHexFromHex,原名标记废弃,避免歧义(issue#IB0NVY@Gitee) ### 🐞Bug修复 * 【json 】 修复JSONConfig.setDateFormat设置后toBean无效问题(issue#3713@Github) diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/SM2.java b/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/SM2.java index 58048a4d4..7d0d05e90 100755 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/SM2.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/SM2.java @@ -324,10 +324,46 @@ public class SM2 extends AbstractAsymmetricCrypto { * @param dataHex 被签名的数据数据 * @return 签名 */ + public String signHexFromHex(String dataHex) { + return signHex(dataHex, null); + } + + /** + * 用私钥对信息生成数字签名 + * + * @param dataHex 被签名的数据数据 + * @return 签名 + * @deprecated 歧义,使用{@link #signHexFromHex(String)} + */ + @Deprecated public String signHex(String dataHex) { return signHex(dataHex, null); } + /** + * 用私钥对信息生成数字签名 + * + * @param dataHex 被签名的数据数据 + * @param idHex 可以为null,若为null,则默认withId为字节数组:"1234567812345678".getBytes() + * @return 签名 + */ + public String signHexFromHex(String dataHex, String idHex) { + return HexUtil.encodeHexStr(sign(HexUtil.decodeHex(dataHex), HexUtil.decodeHex(idHex))); + } + + /** + * 用私钥对信息生成数字签名 + * + * @param dataHex 被签名的数据数据 + * @param idHex 可以为null,若为null,则默认withId为字节数组:"1234567812345678".getBytes() + * @return 签名 + * @deprecated 歧义,使用{@link #signHexFromHex(String, String)} + */ + @Deprecated + public String signHex(String dataHex, String idHex) { + return HexUtil.encodeHexStr(sign(HexUtil.decodeHex(dataHex), HexUtil.decodeHex(idHex))); + } + /** * 用私钥对信息生成数字签名,签名格式为ASN1
* * 在硬件签名中,返回结果为R+S,可以通过调用{@link cn.hutool.crypto.SmUtil#rsAsn1ToPlain(byte[])}方法转换之。 @@ -339,17 +375,6 @@ public class SM2 extends AbstractAsymmetricCrypto { return sign(data, null); } - /** - * 用私钥对信息生成数字签名 - * - * @param dataHex 被签名的数据数据 - * @param idHex 可以为null,若为null,则默认withId为字节数组:"1234567812345678".getBytes() - * @return 签名 - */ - public String signHex(String dataHex, String idHex) { - return HexUtil.encodeHexStr(sign(HexUtil.decodeHex(dataHex), HexUtil.decodeHex(idHex))); - } - /** * 用私钥对信息生成数字签名,签名格式为ASN1
* 在硬件签名中,返回结果为R+S,可以通过调用{@link cn.hutool.crypto.SmUtil#rsAsn1ToPlain(byte[])}方法转换之。 diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/asymmetric/SM2Test.java b/hutool-crypto/src/test/java/cn/hutool/crypto/asymmetric/SM2Test.java index 9a8a24b04..6cd8c7975 100644 --- a/hutool-crypto/src/test/java/cn/hutool/crypto/asymmetric/SM2Test.java +++ b/hutool-crypto/src/test/java/cn/hutool/crypto/asymmetric/SM2Test.java @@ -160,7 +160,7 @@ public class SM2Test { final SM2 sm2 = SmUtil.sm2(); - String sign = sm2.signHex(HexUtil.encodeHexStr(content)); + String sign = sm2.signHexFromHex(HexUtil.encodeHexStr(content)); boolean verify = sm2.verifyHex(HexUtil.encodeHexStr(content), sign); assertTrue(verify); }