我们知道区块链中的信息块,是通过加密方式连接在一起。
那么,区块链是讲解加密?讲解链接?
为了弄清楚这些知识,我们需要一些基础概念: 函数、哈希函数和公钥密码学。今天先讲讲函数和哈希函数。
有的同学会说,看到数学公式就头疼。但是这一部分并不难,不信?瞧瞧呗。
哈希函数,首先它是一个函数。那么,什么是函数?
抽象地说,函数是一种——接受输入,并根据输入的内容产生输出的东西。
数学术语中,函数是一组输入和一组输出之间的关系,其中每个输入只与一个输出有关。
函数通常写为 f,输入通常表示为 x。
比如:
f(x)=x + 2
函数: f(x)
输入:x
输出:x + 2。
如果我们输入2,会得到4。
如果我们输入3,会得到5。
依此类推。
函数就像小朋友玩的扭蛋机。
函数 f (x):扭蛋机
输入 x:十个1元硬币
输出:扭蛋1个
如果我们塞入20个1元硬币,那么得到两个扭蛋。依此类推。
哈希函数,是输入任意长度的字符串,都可以产生固定长度输出的函数。
做个实验。网站:https://anders.com/blockchain/hash.html 可以产生哈希值。
试一试,输入不同的值,会得到不同的输出,但是输出长度一样。
比如:
输入:爱莉莎
输出:73abcafdf5b6f5de5a217da2416c4ca1eb35aab10be66eec4ab75867d1ba5abe
如果更改输入数据,则会得到一个新的哈希值。
输入:elizachen
输出:c1a14f43c993ee4c648bac6831e3798cf41efb0841b1b929a63ddb8ddbdb5b8e
改回 爱莉莎,那么输出又恢复成
73abcafdf5b6f5de5a217da2416c4ca1eb35aab10be66eec4ab75867d1ba5abe。
输入不同长度的字符(比如 “爱莉莎” 和 “elizachen”字符长度不一样),得到的输出,长度一样。
比特币采用的SHA-256,产生的输出长度,就是256bits,32个字节(一个字节8bits,所以是256/8=32字节)。
本文部分内容来自互联网,如有疑问请与我们联系。
发布者:币侠,转转请注明出处:https://www.yfhhf.com/btc/130450.html