Wallet import format
テンプレート:サンプル ウォレットインポートフォーマット(WIF、ウォレットエクスポートフォーマットとも呼ばれます)は、プライベートECDSAキーを簡単にコピーできるようにエンコードする方法です。
テストスイートは、WIFのエンコードとデコードに利用できます。
http://gobittest.appspot.com/PrivateKey
WIFの秘密鍵[編集]
1 - 秘密鍵を取得する 0C28FCA386C7A227600B2FE50B7CAE _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ 11EC86D3BF1FBE471BE89827E19D72AA1D 2 - メインネットアドレスの場合は0x80バイト、テストネットアドレスの場合は0xefを追加します。秘密鍵が圧縮された公開鍵に対応する場合は、最後に0x01バイトも追加します。 800C28FCA386C7A227600B2FE50B7C _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ AE11EC86D3BF1FBE471BE89827E19D72AA1D 3 - 拡張キーでSHA-256ハッシュを実行する 8147786C4D15106333BF278D71DADAF1079EF2D2440A4DDE37D747DED5403592 4 - SHA-256ハッシュの結果でSHA-256ハッシュを実行する 507A5B8DFED0FC6FE8801743720CEDEC06AA5C6FCA72B07C49964492FB98A714 5 - 2番目のSHA-256ハッシュの最初の4バイトを取る、これはチェックサムです 507A5B8D 6 - ポイント2からの拡張キーの最後にポイント5から4つのチェックサムバイトを追加する。 800C28FCA386C7A227600B2FE50B7CAE11EC8 _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ 6D3BF1FBE471BE89827E19D72AA1D507A5B8D 7 - Base58Check encodingを使用して、結果をバイト文字列からbase58文字列に変換します。これはウォレットのインポート形式です。 5HueCGU8rMjxEXxiPuD5BDk _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ u4MkFqeZyd4dZ1jvhTVqvbTLvyTJ
WIFから秘密鍵へ[編集]
1 - ウォレットインポートフォーマット文字列を使用する。 5HueCGU8rMjxEXxiPuD5BDk _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ u4MkFqeZyd4dZ1jvhTVqvbTLvyTJ 2 - Base58Check encodingを使用してバイト列に変換する。 800C28FCA386C7A227600B2FE50B7CAE11EC _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ 86D3BF1FBE471BE89827E19D72AA1D507A5B8D 3 - 最後の4つのチェックサムバイトをバイト文字列から削除する。 800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D 4 - 最初のバイトを削除する(0x80にする必要があります)。秘密鍵が圧縮された公開鍵に対応する場合は、最後のバイトも削除する(0x01にする必要があります)。圧縮された公開鍵に対応する場合、WIF文字列は5ではなくKまたはLで始まります(testnetでは9ではなくc)。これはプライベートキーです。 0C28FCA386C7A227600B2FE50B7CAE1 _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ 1EC86D3BF1FBE471BE89827E19D72AA1D
WIFチェックサムチェック[編集]
1 - ウォレットインポートフォーマットの文字列を使用する。 5HueCGU8rMjxEXxiPuD5BD _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ ku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ 2 - Base58Check encodingを使用してバイト列に変換する。 800C28FCA386C7A227600B2FE50B7CAE11E _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ C86D3BF1FBE471BE89827E19D72AA1D507A5B8D 3 - 最後の4つのチェックサムバイトをバイト文字列から削除する。 800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D 3 - 短縮された文字列にSHA-256ハッシュを実行する。 8147786C4D15106333BF278D71DADAF1079EF2D2440A4DDE37D747DED5403592 4 - SHA-256ハッシュの結果でSHA-256ハッシュを実行する。 507A5B8DFED0FC6FE8801743720CEDEC06AA5C6FCA72B07C49964492FB98A714 5 - 2番目のSHA-256ハッシュの最初の4バイトを取るり、これはチェックサムです。 507A5B8D 6 - ポイント2からの最後の4バイトと同じであることを確認する。 507A5B8D 7 - それらがあり、ポイント2からのバイト文字列が0x80(テストネットアドレスのための0xef)で始まる場合、エラーはありません。
|