区块链-公钥生成地址

目录:https://blog.csdn.net/qq_40452317/article/details/89646633

比特币(区块链)地址是一个由数字和字母组成的字符串。由公钥(一个同样由数字和字母组成的字符串)生成的比特币地址以数字“1” 开头。比如:

1J7mdg5rbQyUHENYdx39WVWK7fsLpEoXZy

地址可由公钥经过单向的加密哈希算法得到。哈希算法是一种单向函数, 接收任意长度的输入产生指纹或哈希。由公钥生成比特币地址时使用的算法是 SecureHashAlgorithm(SHA)和 theRACEIntegrityPrimitivesEvaluationMessageDigest(RIPEMD),具体地说是 SHA256 和 RIPEMD160

SHA256是安全散列算法SHA(Secure Hash Algorithm)系列算法之一,其摘要长度为256bits,即32个字节,故称SHA256。SHA系列算法是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数,包括 SHA-1、SHA-224、SHA-256、SHA-384 和 SHA-512 等变体。

RIPEMD(RACE原始完整性校验讯息摘要)是一种加密哈希函数,由鲁汶大学Hans Dobbertin,Antoon Bosselaers 和 Bart Prenee组成的COSIC 研究小组发布于1996年。 RIPEMD是以MD4为基础原则所设计的 ,而且其表现与更有名的SHA-1类似。

以公钥K作为输入,计算SHA256哈希值,在以此结果作为输入计算RIPEMD160哈希值。得到一个160位(20字节)的数字。

                                A=RIPEMD160(SHA256(K)),其中K是公钥,A是地址。

平时看见的地址是经过Base58Check编码的。

下图是摘自《精通比特币》中的地址生成过程。

猜你喜欢

转载自blog.csdn.net/qq_40452317/article/details/90111693