手动生成HD钱包种子教程

    本文感谢diyanchn的耐心、细致的指导。
    Bip-0039改进协议
    以HD账户的私钥明文12个单词为例,手动生成12个单词,举例如下:
    用抛硬币的方法生成一个随机128bit的值,记正面为1,背面为0。得到如下结果:
    11100110111111000001111110100010001000011110010100001111010101101110100001100000110001100101011110000010111011101001001110000001(2进制)
    把上面的结果由2进制转化为16进制,得到如下结果:
    E6FC1FA221E50F56E860C65782EE9381(16进制)
    对上面的十六进制值做一下SHA256,可以做SHA256的二个网站,可以任选其一:
    SHA256的值是:
    F5880C8CABADD04F5E53D94BBE48EE1E38E6139F7EA8C9A2657FEEE241AC3E4C(16进制)
    把16进制转化为2进制:
    1111010110001000000011001000110010101011101011011101000001001111010111100101001111011001010010111011111001001000111011100001111000111000111001100001001110011111011111101010100011001001101000100110010101111111111011101110001001000001101011000011111001001100(2进制)
    注意:上面二进制的长度为256bit,如不足256bit,前面加零补足256bit。
    取上面生成数2进制的前4位1111,加入抛硬币产生的128bit二进制的末尾:
    111001101111110000011111101000100010000111100101000011110101011011101000011000001100011001010111100000101110111010010011100000011111
    以上数共132位,分割成12段,每段11位,如下:
    11100110111
    11100000111
    11101000100
    01000011110
    01010000111
    10101011011
    10100001100
    00011000110
    01010111100
    00010111011
    10100100111
    00000011111
    将上面的数换算至10进制,如下:
    11100110111       1847
    11100000111       1799
    11101000100       1860
    01000011110       542
    01010000111       647
    10101011011       1371
    10100001100       1292
    00011000110       198
    01010111100       700
    00010111011       187
    10100100111       1319
    00000011111       31
    对照Bip-0039单词表
    所有语言的单词表(英文、简体中文、繁体中文、日语、西班牙语、法语、意大利语)如下:
    此单词表共有2048个单词,序号为1-2048,但因为11位2进制表达是00000000000-11111111111,转化为10进制为0-2047,故在使用的时候把每个单词序号减1。
    对照单词表,结果如下:
    11100110111       1847     tragic
    11100000111       1799     thought
    11101000100       1860     trigger
    01000011110       542      duck
    01010000111       647      extend
    10101011011       1371     problem
    10100001100       1292     pave
    00011000110       198      boat
    01010111100       700      fiscal
    00010111011       187      blast
    10100100111       1319     pilot
    00000011111       31        advance
    tragic thoughttrigger duck extend problem pave boat fiscal blast pilot advance
    以上便是通过手动生成HD钱包种子的全过程。
    生成HD钱包的第一个地址为:122aiyvADev9P4B9bAHtwSk8aWExtqacnW
    生成HD钱包的第一个地址的私钥为:Ky9fWUuDGZpe8f4FZ9X33rqRPgQePtZiXrd7SYrTsBJ9ddWZ1eMK
    可能用到的工具:
    SHA256值生成工具:http://idgui.com/N/#others

    转载请注明:比特阁 » 手动生成HD钱包种子教程

    喜欢 0

还没有人抢沙发呢~