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

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

无主之地 副船长 船龄 10.5年 来源
 206579  4
       比特币使用椭圆曲线算法生成公钥和私钥,选择的是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)也就不能生成了。
  • 全部
  • 最佳
  • FBoMn16s 禁止发言 船龄 2年 2021-05-12 12:38:26
    BTC挖矿 1、售价 347元每T 2、产币周期618天 3、管理费6% 产出收益: 订购100t 成本3.4万 每日产币0.00061个BTC 618天到期0.376个≈14万 金杯银杯不如客户口碑,算力蜂矿场6年,国内最大挖矿平台,用户超百万,目前eth、btc、fil 三种都可以挖!产出随时可提现到主流交易所和钱包等,新用户免费体验10t算力免费挖比特币五天时间!(kf139732)
  • 怪咖 水手 船龄 7年 2016-03-24 11:53:35
    不太对哎。 误导人吗? SHA256结果是64字节,RIPEMED160结果是20字节
  • xzfkiller 副船长 船龄 7年 2016-03-21 23:18:21
    楼主写的不对,不要误导人了,唉
  • bitcoinReaver 副船长 船龄 8.2年 2015-03-17 17:53:55
    相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号。

    附:http://zh.wikipedia.org/wiki/Base58
登录 账号发表你的看法,还没有账号?立即免费 注册
推荐教程
换一批