diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/data/id/ULID.java b/hutool-core/src/main/java/org/dromara/hutool/core/data/id/ULID.java index 5dfccd6bd..845978de1 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/data/id/ULID.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/data/id/ULID.java @@ -24,6 +24,18 @@ import java.util.Objects; import java.util.Random; /** + * ULID(Universally Unique Lexicographically Sortable Identifier)通用唯一词典分类标识符,特性: + * + * * 参考:https://github.com/zjcscut/framework-mesh/blob/master/ulid4j/src/main/java/cn/vlts/ulid/ULID.java *
{@code
  *   01AN4Z07BY      79KA1307SR9X4MV3
@@ -32,7 +44,7 @@ import java.util.Random;
  *    48bits             80bits
  * }
* - * @author throwable + * @author throwable,Looly * @since 6.0.0 */ public class ULID implements Comparable, Serializable { diff --git a/hutool-crypto/src/test/java/org/dromara/hutool/crypto/IssueI99FKETest.java b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/IssueI99FKETest.java new file mode 100644 index 000000000..2f3ce88ab --- /dev/null +++ b/hutool-crypto/src/test/java/org/dromara/hutool/crypto/IssueI99FKETest.java @@ -0,0 +1,27 @@ +package org.dromara.hutool.crypto; + +import org.bouncycastle.jce.interfaces.ECPrivateKey; +import org.bouncycastle.jce.interfaces.ECPublicKey; +import org.bouncycastle.math.ec.ECPoint; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.math.BigInteger; +import java.security.KeyPair; + +public class IssueI99FKETest { + @Test + void getSm2KeyTest() { + final KeyPair pair = KeyUtil.generateKeyPair("SM2"); + final ECPrivateKey aPrivate = (ECPrivateKey) pair.getPrivate(); + final BigInteger d = aPrivate.getD(); + Assertions.assertNotNull(d); + + final ECPublicKey aPublic = (ECPublicKey) pair.getPublic(); + final ECPoint point = aPublic.getQ(); + final BigInteger x = point.getXCoord().toBigInteger(); + final BigInteger y = point.getYCoord().toBigInteger(); + Assertions.assertNotNull(x); + Assertions.assertNotNull(y); + } +}