vlambda博客
学习文章列表

区块链词典 | 一文读懂哈希、哈希函数和哈希算法

聊到区块链的时候也少不了会听到“哈希”、“哈希函数”、“哈希算法”,是不是听得一头雾水?别急,这一讲我们来学习区分一下。


什么是哈希值?


哈希是英文“Hash”的音译,涵义为“散列”,这个定义理解起来很枯燥、也很深奥,简单来说,就是将长短不一的数值串经过哈希计算后生成固定长度的数值串,想象哈希计算是一个机器,在机器的输入端可以输入不管是5位还是50位长短的数值串,而在机器的输出端最终输出的都是统一160位(SHA-1)或128位(MD5)长度的数值串。所以,哈希计算就是一种密码学上实现信息加密的方式,而哈希值就是被加密后的信息表现形式。


什么是哈希函数?

哈希函数(Hash Function)就是一种特殊的数字方程式,也称散列算法;可将任意长度的二进制值映射为较短且固定长度的随机字符串(哈希值)。具体来说,无论输入的是单一字母、单词、句子、整本书籍等等,经过哈希函数运算,输出值的长度都是一样的。它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。 


什么是哈希算法?


哈希算法是区块链中保证交易信息不被篡改的单向密码机制。哈希算法接收一段明文后,会以一种不可逆的方式将其转化为一段长度较短、位数固定的散列数据。


它有两个特点:

加密过程不可逆,意味着我们无法通过输出的散列数据倒推原本的明文是什么;


输入的明文与输出的散列数据一一对应,任何一个输入信息的变化,都必将导致最终输出的散列数据的变化。


总结



区块链通过哈希算法对一个交易区块中的交易信息进行加密,并把信息压缩成由一串数字和字母组成的散列字符串。区块链的哈希值能够唯一而准确地标识一个区块,区块链中任意节点通过简单的哈希计算都可以获得这个区块的哈希值,计算出的哈希值没有变化也就意味着区块中的信息没有被篡改。


区块链词典

区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法

什么是以太坊?

区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法

钱包还能怎么分?全节点钱包、轻钱包篇

区块链词典 | 一文读懂哈希、哈希函数和哈希算法

去【中心化】钱包还是【去中心化】钱包?

区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法

好端端为什么要分叉?

区块链词典 | 一文读懂哈希、哈希函数和哈希算法

简单理解区块链中重放攻击和重放保护

区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法
区块链词典 | 一文读懂哈希、哈希函数和哈希算法

听起来很可怕的51%攻击究竟是怎么回事?


点这里,告诉好友你“在看”

↓↓↓