+-
私钥的格式

私钥的格式

私钥可以以许多不同的格式表示,所有这些都对应于相同的256位的数字。表4-2展示了私钥的三种常见格式。
     表4-2 私钥表示法(编码格式)

种类 版本 描述 Hex None 64 hexadecimal digits WIF 5 Base58Check encoding: Base58 with version prefix of 128 and 32-bit checksum WIF-compressed K or L As above, with added suffix 0x01 before encoding

表4-3 示例:同样的私钥,不同的格式

格式 私钥 Hex 1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD WIF 5J3mBbAH58CpQ3Y5RNJpUKPE62SQ5tfcvU2JpbnkeyhfsYB1Jcn WIF-compressed KxFC1jmwwCoACiCAWZ3eXa96mBM6tb3TYzGmf6YwgdGWZgawvrtJ

这些表示法都是用来表示相同的数字、相同的私钥的不同方法。虽然编码后的字符串看起来不同,但不同的格式彼此之间可以很容易地相互转换。
添加后缀01,并不是表示钱包私钥被压缩了(这是一个不当用词,容易引起混淆),而是表示导出的钱包地址需要被压缩,
压缩公钥是为了节省比特币区块中存储的空间
 
今天主要写一写关于WIF-compressed格式的私钥如何生成地址
压缩格式私钥有K和L开头,比如:
KxFC1jmwwCoACiCAWZ3eXa96mBM6tb3TYzGmf6YwgdGWZgawvrtJ
L273HNzNDcU4WHkSqVEv8sRie3HdAAxkWzwgrNLNaCPcgKMW55Lu

L273HNzNDcU4WHkSqVEv8sRie3HdAAxkWzwgrNLNaCPcgKMW55Lu
8091C15C5D6E3E3671E51A35DC09F48786FC27DA47C1A0478CAC17F3BD9B6870F00108CB3A02
^ ^                                                               ^ ^ 
| |                                                               | | 
| Private key (raw hex)                                           | 
Checksum Version                                                  "Compress" flag