什么是哈希算法用途是什么

区块链

580人已加入

描述

提起哈希算法,很多矿工应该和小羊同学一样,第一反应就是比特币挖矿。没错,比特币挖矿就是不断修改区块头部的随机数,再去计算区块头部的哈希值,直到这个哈希值满足了一个特定的标准,然后通告全网的过程。那么哈希算法究竟是什么呢?

01、什么是哈希算法?

哈希算法又称散列算法,是指某种从任意长度的数据中创建数字“指纹”的算法。它可以将任意长度的数据映射为固定长度的数据,这个映射后的数据我们称之为哈希值。

哈希算法具有一些特点:

1. 强抗碰撞性:对于任意两个不同的数据块,其哈希值相同的可能性极小;对于一个给定的数据块,找到和它哈希值相同的数据块极为困难。

2. 强抗篡改性:对于一个数据块,哪怕只改动其一个比特位,其哈希值的变动也会非常大。

常见的哈希算法有MD2、MD4、MD5、SHA1、SHA256和SHA512。

加密算法的效能通常可以按照算法本身的复杂程度、密钥长度(密钥越长越安全)、加解密速度等来衡量。上述的算法中,除MD2速度较慢已逐渐被淘汰外,其他算法仍在目前的加密系统产品中使用。

02、哈希算法的用途

哈希算法在生活中的应用要比我们想象中要广泛。

它可以检验信息是否是相同的,这样的优势是可以节省重复数据传送的时间。就像我们在一些网盘中上传的文件,如果文件内容相同的话,哪怕属于不同的用户,也可以通过对比哈希值避免向服务器重复上传相同的文件,可以很大程度上节约存储资源,提高存储效率。

除此之外,哈希算法也可以对网站注册用户的密码进行加密保护。

在密码学中,哈希算法的主要作用是用于消息摘要和签名,主要用于消息的完整性校验。哈希算法不可逆,用于密文保存密码的签名,网站后台只保存签名值。 这样即使网站保存的信息被盗取,也无法获取用户的密码,具有更高的安全性。

看到这里,矿友们是不是对哈希算法有了基本的了解呢。在比特币的区块中,除了使用哈希算法确保算力,还通过将包含所有交易的默克尔树的哈希值记录在区块头,确保了这些交易不被窜改呢。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分