内容简介:提起哈希算法又称散列算法,是指某种从任意长度的数据中创建数字“指纹”的算法。它可以将任意长度的数据映射为固定长度的数据,这个映射后的数据我们称之为哈希值。哈希算法具有一些特点:
提起 哈希算法 ,很多矿工应该和小羊同学一样,第一反应就是比特币挖矿。没错,比特币挖矿就是不断修改区块头部的随机数,再去计算区块头部的哈希值,直到这个哈希值满足了一个特定的标准,然后通告全网的过程。那么哈希算法究竟是什么呢?
01、什么是哈希算法?
哈希算法又称散列算法,是指某种从任意长度的数据中创建数字“指纹”的算法。它可以将任意长度的数据映射为固定长度的数据,这个映射后的数据我们称之为哈希值。
哈希算法具有一些特点:
1. 强抗碰撞性:对于任意两个不同的数据块,其哈希值相同的可能性极小;对于一个给定的数据块,找到和它哈希值相同的数据块极为困难。
2. 强抗篡改性:对于一个数据块,哪怕只改动其一个比特位,其哈希值的变动也会非常大。
常见的哈希算法有MD2、MD4、MD5、SHA1、SHA256和SHA512。
加密算法的效能通常可以按照算法本身的复杂程度、密钥长度(密钥越长越安全)、加解密速度等来衡量。上述的算法中,除MD2速度较慢已逐渐被淘汰外,其他算法仍在目前的加密系统产品中使用。
02、哈希算法的用途
哈希算法在生活中的应用要比我们想象中要广泛。
它可以检验信息是否是相同的,这样的优势是可以节省重复数据传送的时间。就像我们在一些网盘中上传的文件,如果文件内容相同的话,哪怕属于不同的用户,也可以通过对比哈希值避免向服务器重复上传相同的文件,可以很大程度上节约存储资源,提高存储效率。
除此之外,哈希算法也可以对网站注册用户的密码进行加密保护。
在 密码学 中,哈希算法的主要作用是用于消息摘要和签名,主要用于消息的完整性校验。哈希算法不可逆,用于密文保存密码的签名,网站后台只保存签名值。 这样即使网站保存的信息被盗取,也无法获取用户的密码,具有更高的安全性。
看到这里,矿友们是不是对哈希算法有了基本的了解呢。在比特币的区块中,除了使用哈希算法确保算力,还通过将包含所有交易的默克尔树的哈希值记录在区块头,确保了这些交易不被窜改呢。
更多数字 货币 信息:www.qukuaiwang.com.cn/news
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java程序设计与应用开发
於东军 / 清华大学出版社 / 2005-3 / 27.00元
本书作为Java程序的入门与应用教材,共分为3部分:第一部分讲解Java程序设计的基础知识,包括Java基本编程语言、面向对象设计思想、类、对象、接口以及异常处理。第二部分讲解Java程序设计的高级知识,包括:GUI编程、套接口编程、I/O系统、数据库访问以及多线程编程。第三部分详细分析一个实际项目的开发过程,包括系统分析及功能实现。在项目实例中综合应用第一、二部分的Java知识,能够帮助读者进一......一起来看看 《Java程序设计与应用开发》 这本书的介绍吧!