哈希算法——理解区块链的关键一环

民间常言:说唱有嘻哈,算法有哈希。”在了解比特币投资和区块链技术中,哈希算法作为常客”时常出现。但大多数朋友对它知之甚少,为它晦涩难懂的内涵所头疼。那么今天我们就来简单说说,什么是哈希算法”?

哈希音译自Hash”,又名为散列”。本质上是一种计算机程序,可接收任意长度的信心输入,然后通过哈希算法,创建小的数字指纹”的方式。例如数字与字母的结合,输出的就为哈希值”。从数学术语上说,就是这个哈希函数,是将任意长度的数据,映射在有限长度的域上。总体而言,哈希函数用于,将消息或数据压缩,生成数据摘要,最终使数据量变小,并拥有固定格式。

那么哈希算法的作用又是什么呢?

(1) 在庞大的数据库中,由于哈希值更为短小,被找到更为容易,因此,哈希使数据的存储与查询速度更快。

(2) 哈希能对信息进行加密处理,使得数据传播更为安全。

哈希算法解决了什么生活问题?

看似深奥的数学函数,又或是计算机程序的哈希算法,其实跟我们的生活息息相关。就拿每年双十一的快递来说,实际上,哈希算法原理提高了快递入库出库的速度。为什么呢?

双十一一过,到底剁手后,一定收快递收到手软,手机短信抖个不停。这个时间段,双十一快递员可能没时间挨家挨户送上门,而是选择往驿站一扔。当驿站将快递入库后,你的手机会收到这样一条信息——

【XX收快】您的XX快递已到(原菜鸟驿站)65号店取货吗A10-8-9856,请9点至21点取货,电话xxx-xxxxxxxx)

到底重点看看这个取货码:A10-8-9856。这可不是一堆乱码。这串数值,就是驿站员能快速找到你快递的关键。

A10指的是货架编码,8指的是第8层,9856指的是订单后四位。因此每个驿站小哥只需要瞄一眼,就能瞬间知道你的快递所在位了。

因此,哈希算法最核心的用处,就是高速存取。在区块链技术中,它才真正大展身手。以下是它在区块中的具体作用:

(1) 快速验证。只需要验证摘要,就能比较两个数据是否相等。

(2) 防止篡改。只需要传递数据的摘要即可传递该数据,并防止在传递过程中被篡改。

(3) 用于POW共识算法工作量证明。目前比特币和以太坊,都使用POW共识机制。

哈希算法有千千万万种,其中,安全哈希算法”(SHA
256)是保护数字信息,最安全的方式之一。它是由美国国安局设计、美国国家标准与技术研究院发布的一套哈希算法。其摘要长度是256bits,因此被称为SHA256”。它们都在网络数据和区块链技术应用中,有着重大作用,也是理解区块链的重要一环。

哈希是密码学的基础,理解哈希是理解数字签名和加密通信等技术的必要前提。

哈希,英文是 hash ,本来意思是”切碎并搅拌“,有一种食物就叫 Hash
,就是把食材切碎并搅拌一下做成的。哈希函数的运算结果就是哈希值,通常简称为哈希。哈希函数有时候也翻译做散列函数。

根据维基百科的定义,哈希函数要做的事情是给一个任意大小的数据生成出一个固定长度的数据,作为它的映射。所谓映射就是一一对应。一个可靠的哈希算法要满足三点。

第一是安全,给定数据 M 容易算出哈希值 X ,而给定 X 不能算出 M
,或者说哈希算法应该是一个单向算法。第二是独一无二,两个不同的数据,要拥有不相同的哈希。第三是长度固定,给定一种哈希算法,不管输入是多大的数据,输出长度都是固定的。

但是仔细想一下,如果哈希的长度是固定的,也就是取值范围是有限的,而输入数据的取值范围是无限的,所以总会找到两个不同的输入拥有相同的哈希。所以,哈希函数的安全性肯定是个相对概念。如果出现了两个不同输入有相同输出的情况,就叫碰撞,collision
。不同的哈希算法,哈希位数越多,也就基本意味着安全级别越高,或者说它的”抗碰撞性“就越好。

再来说说哈希函数的主要作用。哈希的独一无二性,保证了如果数据在存储或者传输过程中有丝毫损坏,那么它的哈希就会变。哈希函数的最常见的一个作用就是进行完整性校验(
Integrity Check ),完整的意思是数据无损坏。哈希有很多不同的称呼,有时候叫 Digest 摘要,有时候叫 Checksum 校验值,有时候叫
Fingerprint 指纹,其实说的意思差不多,也就是说哈希可以用来代表数据本身。

例如朋友给我传递一份数据,传完之后,我有一份,他手里也有一份,如果两份数据的哈希值是一样的,那么这两份数据的内容就是一样的,或者说可以认为传递过程中数据没有损坏,我手里拿到的数据是完整的。

所以说,哈希函数的基本作用就是给大数据算出一个摘要性的长度固定的字符串,也就是所谓的哈希。哈希的作用主要是进行完整性校验。

哈希算法的分类

下一步我们把哈希函数分类,更细致的聊聊哈希算法的特点。首先说哈希算法有很多种,例如 md5 ,sha256
等等,但是它们总体上可以分为两大类,一类是普通哈希,另外一类是加密哈希,cryptographic hash function 。

业界可以找到的哈希算法是有很多种的。我们可以大致按照输出的哈希的长度来聊,虽然哈希算法的安全性也不单单是跟哈希长度有关,但是一般哈希值越长也就是越安全。

例如 CRC-32 的输出是32 bit,也就是32位的二进制数,表示成十六进制就是8位。MD5
算法的哈希是32位16进制数,比较常见。SHA-256是256个 Bit
,十六进制表示就是64位。这些算法可以分成普通哈希和加密哈希算法,两种算法之间没有特别明显的区别。例如本来 MD5
就是设计出来做加密哈希的,但是后来由于计算机的发展 MD5 出现碰撞的可能性就很大了,所以目前 MD5 只能当普通哈希用,用来做数据校验。

加密哈希跟普通哈希的区别就是安全性,一般原则是只要一种哈希算法出现过碰撞,就会不被推荐成为加密哈希了,只有安全度高的哈希算法才能用作加密哈希。

同时加密哈希其实也能当普通哈希来用,Git 版本控制工具就是用 SHA-1
这个加密哈希算法来做完整性校验的。一般来讲越安全的哈希算法,处理速度也就越慢,所以并不是所有的场合都适合用加密哈希来替代普通哈希。

在密码学领域,有两个算法都是把数据做输入,而输出是一段谁也看不懂的数据。其中一个就是哈希算法,另外一个是加密算法。注意,哈希算法和加密算法是完全不同的。

首先哈希算法的输出长度是固定的,而加密算法的输出长度是跟数据本身长度直接相关的,第二,哈希是不可以逆向运算出数据的,而加密算法的输出是要能够逆向运算出数据的。关于加密算法,我们这里就不展开聊了。

这里主要是强调加密哈希算法只是被用在加密过程中,但是它本身不是加密算法。

总之,哈希算法有很多种,长度越长的算法基本认为越安全。安全度低的哈希算法被认为是普通哈希算法,主要用来做完整性校验。安全度高的被称为加密哈希算法,会被用在加密算法中。所谓的高低都是相对概念,例如
MD5 曾经属于加密哈希,但是目前只能用来做安全校验了。而从2017年开始,SHA-1 算法生成的加密证书也会被各大浏览器拒绝了。目前最流行的加密算法是
SHA-2 ,但是跟 SHA-1 不同,SHA-2 不是一种算法,而是一系列算法的统称,其中就包括咱们之前提过的 SHA-256 。

实用例子

说了这么多基础知识,最后一部分咱们聊聊哈希在现实中的应用。

首先一个场景是网站注册。当我们提交用户名密码的时候,用户名被会直接保存到网站的数据库中,但是密码却不是直接保存的,而是先把密码转换成哈希,保存到数据库中的其实是哈希。所以,即使是公司后台管理人员,也拿不到用户的密码。这样,如果万一公司数据库泄露了,用户的密码依然是安全的。而当用户自己登录网站的时候,输入密码提交到服务器,服务器上进行相同的哈希运算,因为输入数据没变,所以哈希也不会变,登录也就成功了。

另外一个场景是区块链和加密货币中。比特币地址生成的时候,就用到了 SHA-256 算法,POW 也就是工作量证明,用的也是这个算法。

基本上凡是涉及到密码学的地方,都会或多或少的用到哈希函数。

总结

关于哈希和哈希函数,我们就聊到这里,接下来来总结几句。

哈希的基本作用就是提供一个数据的摘要或者指纹,通常的使用场景就是完整性校验。哈希算法有很多种,一般来讲哈希越长的算法,安全性也就越高,安全度足够高的哈希,或者说没有任何人能够成功实现碰撞的哈希,才有资格被考虑用在加密场合,而这类的哈希算法也被叫做加密哈希算法。

实际中常见的哈希算法有 MD5 ,SHA-1 ,和 SHA-256 等等,其中 MD5 通常用来进行数据校验,SHA-1
曾经是加密哈希算法,但是目前已经被除名,也只能做为一种安全度更高的校验算法了。SHA-256 依然是广泛使用的加密哈希算法,在比特币生成地址以及 POW
工作量证明算法中都会用到。

本文部分内容来自互联网,如有疑问请与我们联系。

发布者:币侠,转转请注明出处:https://www.yfhhf.com/qukuai/131700.html

(0)
上一篇 2023年 1月 31日 上午7:12
下一篇 2023年 1月 31日 上午7:36

相关推荐

  • NFT是虚拟艺术品吗,在一级市场交易数字藏品和二级市场交易数字藏品有什么区别

    Tezos 上的很多一级市场销售都是在 1-50 XTZ 的范畴内,价钱通常与从您最感兴趣的艺术家那边选购限量印刷用纸沒有很大区别。流行报导通常只关心高意义和引人瞩目的销售,这也许会歪曲对该市场的观点。 Tezos 的收费构造与传统艺术和艺术创意市场的规范和标准截然不同,在传统艺术和艺术创意市场中,画苑通常会从每单销售中提取 40-60% 的分为,而艺术家通…

    2022年 12月 18日
    2140
  • 现在国内比特币平台有哪些 交易比特币平台

    摘要: 自从比特币被公众所知并逐渐走红后,中国各大比特币交易平台也如雨后春笋般应运而生。本文将深度分析国内现有的几个知名的比特币交易平台,为读者提供更全面的了解。 1. 比特币交易平台的前世今生 自2009年比特币出现以来,比特币交易平台逐渐兴起。最初的比特币交易平台只是一个简单的黑市。现在,比特币交易平台成为一个巨大的市场,吸引了全球投资者的关注。国内也有…

    区块链 2023年 5月 7日
    7420
  • 派币最新消息2021(派币最新消息2021年4月)

    派币最新消息2021:数字货币市场的新秀 数字货币始终是资本市场上备受关注的热门话题。而派币(PI)作为数字货币市场的新秀,近期备受关注。派币采用挖矿算法与信誉算法结合的方式,致力于打造一个去中心化的数字货币交易生态圈。 一、 派币PI的基本介绍 派币PI于2019年3月发布白皮书,由圣克鲁兹(Santa Cruz)区块链技术公司率先推出,于同年3月底开始挖…

    区块链 2023年 5月 18日
    11.3K0
  • 比特币钱包欧易下载 BTC钱包欧易v3.1.02下载

    比特币钱包欧易是由一群数字资产爱好者创建而成的一个专注区块链资产的交易平台。为用户提供更加安全、便捷的区块链资产兑换服务,聚合全球优质区块链资产,致力于打造世界级的区块链资产交易平台。 比特币钱包这一词,是随着比特币火爆从而出现在人们眼中,每个人都一个钱包,只不过钱包不同,存放的东西不同,比如说现金,一般就放在钱包中,而存入银行的钱,一般都在银行卡或者通过支…

    区块链 2022年 10月 31日
    2290
  • AVAX币值得长期持有吗?AVAX币值得投资吗?

    币圈之家百草avax币是avalanche区块链生态中的原生数字货币,其在defi和区块链应用中发挥着重要作用。avax币具有快速交易速度、低成本以及强大的安全性等优势,因此备受投资者关注。对于长期持有avax币和投资avax币的问题,需要考虑市场风险和个人财务情况,建议在充分了解风险的前提下,谨慎投资并根据自身需求和风险承受能力做出决策。 AVAX币值得长…

    区块链 2024年 4月 12日
    3660

联系我们

不接风险内容

在线咨询: QQ交谈

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信