在理解区块链地址产生方法之前,先来简单地理解一下公钥私钥的加密原理:

1. 公钥是对外公开的,而私钥是保密的。当A想要把内容发送给B时,A会用他的私钥对内容加密,然后发送给B。B会用A的公钥来解密。

2. 公钥是通过私钥产生的,这个过程是无法逆转的。

3. 当B需要验证A的身份(数字签名)时,B可以用公钥验证这个数字签名是否是用A的私钥产生的。

 

当创建比特币的账户时,用户会在本地生成一个私钥,系统会根据这个私钥通过一定的算法,产生该用户的地址。

比特币的公钥产生方式(参考http://en.bitcoinwiki.org/Bitcoin_address):

区块链地址的产生方式

1. 计算公钥的SHA-256哈希值

2. 通过RIPEMD160函数对第一步的值做加密,生成fingerprint

3. 生成校验位:对fingerprint连续做两次SHA256哈希运算,取前4个字节

4. 0x00位版本前缀,通过对版本前缀+fingerprint+checksume做Base58编码,得到最后的字符串

 

关于base58:

Base58的计算方式和Base64类似,只是Base58不只用数字0,大写字母,大写I,小写i,还有+和/

 

 

相关文章:

  • 2021-10-24
  • 2021-08-03
  • 2021-08-21
  • 2021-11-07
  • 2022-12-23
  • 2021-07-01
  • 2021-05-11
  • 2021-09-19
猜你喜欢
  • 2021-11-21
  • 2021-04-08
  • 2021-08-08
  • 2021-05-23
  • 2021-12-22
  • 2021-08-15
  • 2021-05-23
相关资源
相似解决方案