OSDN Git Service

merge tx signer
[bytom/bytom-java-sdk.git] / tx-signer / src / test / java / io / bytom / common / DerivePrivateKeyTest.java
diff --git a/tx-signer/src/test/java/io/bytom/common/DerivePrivateKeyTest.java b/tx-signer/src/test/java/io/bytom/common/DerivePrivateKeyTest.java
new file mode 100755 (executable)
index 0000000..7834aa9
--- /dev/null
@@ -0,0 +1,35 @@
+package io.bytom.common;\r
+\r
+import org.bouncycastle.util.encoders.Hex;\r
+import org.junit.Test;\r
+\r
+import java.security.InvalidKeyException;\r
+import java.security.NoSuchAlgorithmException;\r
+import java.security.SignatureException;\r
+\r
+public class DerivePrivateKeyTest {\r
+    @Test\r
+    public void testBip44Key() throws NoSuchAlgorithmException, SignatureException, InvalidKeyException {\r
+        String rootKey = "38d2c44314c401b3ea7c23c54e12c36a527aee46a7f26b82443a46bf40583e439dea25de09b0018b35a741d8cd9f6ec06bc11db49762617485f5309ab72a12d4";\r
+        byte[] derivePrivateKey = DerivePrivateKey.derivePrivateKey(rootKey, 1, false, 2);\r
+        System.out.println(Hex.toHexString(derivePrivateKey));\r
+        //expected 48c65f40d860723e71b03988a22edc9ad00ae0deae992e79fb3b812edb5c3e43e78065bf46d0e8ad922cdae600fd2c2a6239b8f1f504f8f255460c6fcce023ff\r
+    }\r
+\r
+    @Test\r
+    public void testBip32Key() throws NoSuchAlgorithmException, SignatureException, InvalidKeyException {\r
+        String rootKey = "38d2c44314c401b3ea7c23c54e12c36a527aee46a7f26b82443a46bf40583e439dea25de09b0018b35a741d8cd9f6ec06bc11db49762617485f5309ab72a12d4";\r
+        byte[] derivePrivateKey = DerivePrivateKey.derivePrivateKey(rootKey, 2);\r
+        System.out.println(Hex.toHexString(derivePrivateKey));\r
+        //expected 2806f655e862ffc550c2dcaa5057e02e0a1c7c714a4c5a1823bd83f060593e43f5fef4fced766de36cb7ea8ca51cebac7830d54dca1929e669a4a7c3dc7b9dcc\r
+    }\r
+\r
+    @Test\r
+    public void testBip32PublicKey() throws NoSuchAlgorithmException, SignatureException, InvalidKeyException {\r
+        String rootKey = "38d2c44314c401b3ea7c23c54e12c36a527aee46a7f26b82443a46bf40583e439dea25de09b0018b35a741d8cd9f6ec06bc11db49762617485f5309ab72a12d4";\r
+        byte[] derivePrivateKey = DerivePrivateKey.derivePrivateKey(rootKey, 14);\r
+        byte[] deriveXpub = DeriveXpub.deriveXpub(derivePrivateKey);\r
+        System.out.println(Hex.toHexString(deriveXpub).substring(0, 64));\r
+        //expected 2806f655e862ffc550c2dcaa5057e02e0a1c7c714a4c5a1823bd83f060593e43f5fef4fced766de36cb7ea8ca51cebac7830d54dca1929e669a4a7c3dc7b9dcc\r
+    }\r
+}\r