OSDN Git Service

merge tx signer
[bytom/bytom-java-sdk.git] / tx-signer / src / test / java / io / bytom / common / DerivePrivateKeyTest.java
1 package io.bytom.common;\r
2 \r
3 import org.bouncycastle.util.encoders.Hex;\r
4 import org.junit.Test;\r
5 \r
6 import java.security.InvalidKeyException;\r
7 import java.security.NoSuchAlgorithmException;\r
8 import java.security.SignatureException;\r
9 \r
10 public class DerivePrivateKeyTest {\r
11     @Test\r
12     public void testBip44Key() throws NoSuchAlgorithmException, SignatureException, InvalidKeyException {\r
13         String rootKey = "38d2c44314c401b3ea7c23c54e12c36a527aee46a7f26b82443a46bf40583e439dea25de09b0018b35a741d8cd9f6ec06bc11db49762617485f5309ab72a12d4";\r
14         byte[] derivePrivateKey = DerivePrivateKey.derivePrivateKey(rootKey, 1, false, 2);\r
15         System.out.println(Hex.toHexString(derivePrivateKey));\r
16         //expected 48c65f40d860723e71b03988a22edc9ad00ae0deae992e79fb3b812edb5c3e43e78065bf46d0e8ad922cdae600fd2c2a6239b8f1f504f8f255460c6fcce023ff\r
17     }\r
18 \r
19     @Test\r
20     public void testBip32Key() throws NoSuchAlgorithmException, SignatureException, InvalidKeyException {\r
21         String rootKey = "38d2c44314c401b3ea7c23c54e12c36a527aee46a7f26b82443a46bf40583e439dea25de09b0018b35a741d8cd9f6ec06bc11db49762617485f5309ab72a12d4";\r
22         byte[] derivePrivateKey = DerivePrivateKey.derivePrivateKey(rootKey, 2);\r
23         System.out.println(Hex.toHexString(derivePrivateKey));\r
24         //expected 2806f655e862ffc550c2dcaa5057e02e0a1c7c714a4c5a1823bd83f060593e43f5fef4fced766de36cb7ea8ca51cebac7830d54dca1929e669a4a7c3dc7b9dcc\r
25     }\r
26 \r
27     @Test\r
28     public void testBip32PublicKey() throws NoSuchAlgorithmException, SignatureException, InvalidKeyException {\r
29         String rootKey = "38d2c44314c401b3ea7c23c54e12c36a527aee46a7f26b82443a46bf40583e439dea25de09b0018b35a741d8cd9f6ec06bc11db49762617485f5309ab72a12d4";\r
30         byte[] derivePrivateKey = DerivePrivateKey.derivePrivateKey(rootKey, 14);\r
31         byte[] deriveXpub = DeriveXpub.deriveXpub(derivePrivateKey);\r
32         System.out.println(Hex.toHexString(deriveXpub).substring(0, 64));\r
33         //expected 2806f655e862ffc550c2dcaa5057e02e0a1c7c714a4c5a1823bd83f060593e43f5fef4fced766de36cb7ea8ca51cebac7830d54dca1929e669a4a7c3dc7b9dcc\r
34     }\r
35 }\r