比特币地址和私钥是怎样生成的?

未知来源 阅读 85 2014-2-19 02:21
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

比特币使用椭圆曲线算法生成公钥和私钥,选择的是secp256k1曲线。生成的公钥是33字节的大数,私钥是32字节的大数,钱包文件wallet.dat中直接保存了公钥和私钥。

我们在接收和发送比特币时用到的比特币地址是公钥经过算法处理后得到的,具体过程是公钥先经过SHA-256算法处理得到32字节的哈希结果,再经过RIPEMED算法处理后得到20字节的摘要结果,再经过字符转换过程得到我们看到的地址。

这个字符转换过程与私钥的字符转换过程完成相同,步骤是先把输入的内容(对于公钥就是20字节的摘要结果,对于私钥就是32字节的大数)增加版本号,经过连续两次SHA-256算法,取后一次哈希结果的前4字节作为校验码附在输入内容的后面,然后再经过Base58编码,得到字符串。

这里需要提一下的是Base58编码为了让输出字符串易于辨别,所以编码时故意排除了4个字符:'0'、'I'、'l'、'O',如果你想生成一个带特殊词缀的地址那就不要带这4个符了,比如我的ID(walker)也就不能生成了。

btcfans公众号

微信扫描关注公众号,及时掌握新动向

来自互联网
免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
上一篇:比特币系统是如何运行的? 下一篇:网络新词语:“比特币”是什么币?

相关资讯