1分钟带你了解什么是哈希算法!

原创
1339 天前
2933

带着问题阅读会更高效噢:

1、概念的理解,即什么是哈希值?

2、哈希值有哪些特征?

3、哈希算法的影响?

什么是哈希值?

任何计算机文件都由电子讯号组成。简单地说:0和1组成了全部的信息世界,即:比特世界。

比如,我们眼中的香肠图片,在比特世界里是这样的:01010111001111010101100101110101……

手机挖BTC、ETH、FIL咖 hbjky327 学习挖矿知识。

我没写完整,上万位吧,写完得一屋子,总之就是0和1两个数字排成了一条长龙,这才是这张图片在比特世界里的本来面目,我们把这串长龙称为“二进制文件”。

我们把这条长龙切碎,搅拌之后就得到哈希值:4f7f56ecc0b725893b59f6428258304a94e40f48

哈希值是哈希算法的最终结果,是文件在互联网里的编号。如果这张图片是一个人,那哈希值就是TA的指纹、TA的身份证编号。

你完全不用理解哈希算法如何把二进制文件变成哈希值,这是数学家的事,你只要把哈希函数看作一台屠宰机器,就能理解一切:这台机器把任何猪都能剁成等长的香肠,而哈希值就是这根香肠的花纹。

除了所有哈希值都一样长之外,这些花纹有一些其他漂亮的特性,能轻巧地用在比特世界的方方面面。

哈希值的特性

如果你看到两个文件有完全相同的哈希值,那你立马可以判定它们是同一文件。这也是哈希值最基本的特性:相同文件的哈希值相同,即,复制后的文件与原文件哈希值相同。

这容易理解,因为既然是两只一模一样的猪,那它们用相同方法做出来的香肠应该一模一样。但如果两只猪其他部位完全相同,哪怕它们尾巴尖上的一根毛不同,那香肠最终的纹理会完全不同。

源文件稍有改动,哈希值面目全非。

这一特性使得用哈希值标注的文件无法被篡改,因为哪怕只篡改上图一个像素,马上就能被认出——哈希值会完全不同。

另外,哈希值还有的特性:

第一、不可逆推:在具备编码功能的同时,哈希算法也作为一种加密算法存在。即,你无法通过分析哈希值计算出源文件的样子,换句话说:你不可能通过观察香肠的纹理推测出猪原来的样子。

第二、计算极快:哈希一部20G高清电影和一个5K文本文件复杂度相同,计算量都极小,可以在0.1秒内得出结果。也就是说,不管猪有多肥,骨头多硬,做成香肠都只要眨眨眼的时间,

能用极快的速度给你的文件编出不重复的号码,而且任何人都无法通过这个号码推算出文件原来的样子,这就是哈希算法的意义。

把文件切碎和搅拌的过程就是哈希算法,而切碎和搅拌的动作,称为加密和压缩,而不同的烧菜师傅会有不同的刀法,于是就有了很多哈希算法,比如:CRC-32、MD5和SHA1……名字虽然唬人,可它们之间只是张家师傅和李家师傅的区别,但不同师傅之间的刀功却有高下,那差距究竟在哪里呢?

哈希算法会不会被破解?

从理论上说,哈希值是可以被获得的,但是对应的用户密码很难获得。

假设一个网站被攻破,黑客获得了哈希值,但仅仅只有哈希值还不能登录网站,他还必须算出相应的账号密码。

计算密码的工作量是非常庞大且繁琐的,严格来讲,密码是有可能被破译的,但破译成本太大,被成功破译的几率很小,所以基本是不用担心密码泄露的。

当然,黑客们还可以采用一种物理方法,那就是猜密码。他可以随机一个一个的试密码,如果猜的密码算出的哈希值正好与真正的密码哈希值相同,那么就说明这个密码猜对了。

密码的长度越长,密码越复杂,就越难以猜正确。如果有一种方法能够提高猜中密码的可能,那么可以算是哈希算法被破解了。

比如说,例如原本猜中的概率是1/10000000000000,现在增加到了1/1000。如果每猜一个密码需要1秒,按照之前的概率猜,直到地球毁灭都可能没猜中,但后者只需要1小时就足够了。在这样的情况下,哈希算法就算是被破解啦。

哈希算法的影响?

二十年前,如果你去图书馆找一本名叫《美国种族简史》的书,得先思考它属于宗教类还是历史类,然后再跑去不同的区域爬格子。而现在,你只需轻轻一点,整个屏幕就会告诉你有没有这本书,如果有,那它在哪里。

图书馆用的小规模搜索技术贴标签:以前是手工分类,现在是数据库。

而互联网级别的大规模的搜索就得靠哈希算法生产索引标签了。比如Google等搜索引擎、迅雷等下载软件、比特币等加密货币……都能通过哈希值准确定位目标。

即使哈希算法乍看起来毫不起眼,无非做出了一串奇怪的字符,但它却是比特世界里的板砖,能搭出高楼大厦,能让比特世界更有序。即使离你再远的信息,在哈希算法的帮助下,都可以让你触手可及。

好啦,看到这里你是不是对哈希算法有了初步的了解?大家也不要过于担心你的账户以及资产被黑的风险,因为哈希算法仅仅只是比特币的原理算法,还有其他算法一同作用于比特币的运行,因此就算破解了哈希算法也并不能盗取你的账户信息

通俗易懂的说其实比特币挖矿就是再不断地输入值,去解决一旦数学难题,而这个难题的答案没有任何线索只能去猜,猜中这个答案后就会获得一笔奖励,而这一笔奖励就是比特币,面对每天的奖励总量越来越少,参与答题的人越来越多,所以我们就必须不断的提升矿机的计算能力,计算能力越大每秒参与答题的次数就越多,猜中答案的几率就越大,获得奖励的几率也就越大,这也是为什么十几年前一台大头电脑就可以轻轻松松的挖到几个比特币。

现在的矿机一台动则8-10W,参与挖矿的门槛极高,阻拦了很大一批普通的人参与进来,而随着时代的进步科技的发展,腾讯、百度推出了云储存,用户只需要一个app就可以存储海量数据,当然也需要支付费用,阿里研发了云电脑,只需要一个显示屏和一个特定的APP,运行速度便可以快过所有的家用电脑,而现在挖矿也被研发出来云模式了,这一切的背后都是一整个运营系统在支撑,云挖矿模式推出便受到一度青睐,现在仅仅一台手机和一个APP在家就可以挖BTC、ETH、FIL,了解详情请咖 hbjky327 。APP的获取方式我放在下面了。