vlambda博客
学习文章列表

【科技康康】区块链中的哈希算法

聊到区块链话题时,或多或少都会提到“哈希”、“哈希函数”、“哈希算法”,对于不理解的人简直一头雾水!哈希函数到底是什么呢?其实,我们常说的哈希算法、哈希函数通常都是意指同一个东西。哈希函数不仅是区块链的重要部分,还是整个信息安全的重要部分。



先来看定义。哈希函数(Hash Function),也称散列函数、杂凑函数从理论上讲,哈希函数是一种数学流程,可以将任意长度的明文映射为长度较短的且长度固定的值,称其为哈希值、散列值(Hash Value)、杂凑值或者消息摘要(Message Digest)。简单理解就是把输入的任意长短的数据转化为固定长度的数据。


【科技康康】区块链中的哈希算法


基于一种密码学上的单向哈希函数,函数表达式为哈希函数用y =hash(x)表示。输入x进行运算,得到一个哈希值y。不管输入的X有多复杂且庞大,哈希函数总能用固定长度的数据表示。哈希值就像论文中的摘要,不管论文正文的文字、图片有多少,摘要都是固定数量。


【科技康康】区块链中的哈希算法


哈希函数的常见应用就是存储密码。当你设置几位数的登录密码时,通过哈希函数运行,后台存储的是密码的哈希值。当你下次登录输入密码,通过哈希运算得出的哈希值再与后台存储的哈希值相匹配,相同就能顺利登录。


常用的哈希算法包括MD5、SHA-1、SHA-256、SHA-384及SHA-512等。中本聪论文中的比特币系统就是采用的SHA-256算法,被公认为最安全最先进的算法之一。


【科技康康】区块链中的哈希算法


SHA-256是将任何一串数据输入到SHA-256将得到一个256-bit (32-byte) 长度的Hash为什么中本聪会选择用在比特币协议中使用这个函数呢?


输出固定长度。对于任意大小的输入,最终计算出的哈希值的长度很小,并且是固定长度。


加密过程不可逆。即从哈希输出无法倒推输入的原始数值,意味着我们无法通过输出的哈希值倒推原本的明文是什么。


防篡改。输入的明文与输出的哈希值一一对应,任何一个字节的变化,都必将导致最终输出的哈希值的变化。


抗碰撞。两段内容不同的明文,很难使得它们的哈希值相同。即对于任意两个不同的数据块,其哈希值相同的可能性极小。


让我们一起来看看魏生博士解读【区块链中的哈希算法


【科技康康】区块链中的哈希算法


区块链中的哈希算法

【科技康康】区块链中的哈希算法


【科技康康】区块链中的哈希算法



如果想了解更多区块链技术的基本原理、场景探索、价值分析与前景思考,可以扫描下方图片二维码或者点击【阅读原文】,7小时课程让你听懂区块链!




【更多精彩内容,扫描下方二维码】