比特幣錢包匯入格式
阿新 • • 發佈:2019-02-13
私鑰到WIF
1 - 拿一把私鑰
0C28FCA386C7A227600B2FE50B7CAE _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ 11EC86D3BF1FBE471BE89827E19D72AA1D
2 - 在主網地址前面新增一個0x80位元組,在testnet地址上新增0xef。如果私鑰對應於壓縮的公鑰,則在末尾新增0x01位元組
800C28FCA386C7A227600B2FE50B7C _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ AE11EC86D3BF1FBE471BE89827E19D72AA1D
3 - 對擴充套件金鑰執行SHA-256雜湊
8147786C4D15106333BF278D71DADAF1079EF2D2440A4DDE37D747DED5403592
4 - 對SHA-256雜湊的結果執行SHA-256雜湊
507A5B8DFED0FC6FE8801743720CEDEC06AA5C6FCA72B07C49964492FB98A714
5 - 取第二個SHA-256雜湊的前4個位元組,這是校驗和
507A5B8D
6 - 從第2點的擴充套件金鑰末尾的第5點新增4個校驗和位元組
800C28FCA386C7A227600B2FE50B7CAE11EC8 _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ 6D3BF1FBE471BE89827E19D72AA1D507A5B8D
7 - 使用Base58Check編碼將結果從位元組字串轉換為base58字串。這是電子錢包匯入格式
5HueCGU8rMjxEXxiPuD5BDk _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ u4MkFqeZyd4dZ1jvhTVqvbTLvyTJ
WIF到私鑰
1 - 獲取電子錢包匯入格式字串
5HueCGU8rMjxEXxiPuD5BDk _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ u4MkFqeZyd4dZ1jvhTVqvbTLvyTJ
800C28FCA386C7A227600B2FE50B7CAE11EC _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ 86D3BF1FBE471BE89827E19D72AA1D507A5B8D
3 - 從位元組字串中刪除最後4個校驗和位元組
800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D
4 - 丟棄第一個位元組(應該是0x80)。如果私鑰對應於壓縮的公鑰,也丟棄最後一個位元組(它應該是0x01)。如果它對應於壓縮的公鑰,則WIF字串將以K或L而不是5(或者在testnet上為c而不是9)開始。這是私鑰。
0C28FCA386C7A227600B2FE50B7CAE1 _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ 1EC86D3BF1FBE471BE89827E19D72AA1D
WIF校驗和檢查
1 - 獲取電子錢包匯入格式字串
5HueCGU8rMjxEXxiPuD5BD _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ ku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ
800C28FCA386C7A227600B2FE50B7CAE11E _SAMPLE_PRIVATE_KEY_DO_NOT_IMPORT_ C86D3BF1FBE471BE89827E19D72AA1D507A5B8D
3 - 從位元組字串中刪除最後4個校驗和位元組
800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D
3 - 對縮短的字串執行SHA-256雜湊
8147786C4D15106333BF278D71DADAF1079EF2D2440A4DDE37D747DED5403592
4 - 對SHA-256雜湊的結果執行SHA-256雜湊
507A5B8DFED0FC6FE8801743720CEDEC06AA5C6FCA72B07C49964492FB98A714
5 - 取第二個SHA-256雜湊的前4個位元組,這是校驗和
507A5B8D
6 - 確保它與第2點的最後4個位元組相同
507A5B8D
7 - 如果是,並且第2點的位元組字串以0x80(testnet地址為0xef)開頭,則沒有錯誤。