哈希算法

哈希(英语:Hashing)是计算机科学中一种对数据的处理方法,通过某种特定的函数/算法将要检索的项与用来检索的索引关联起来,生成一种便于搜索的数据结构。它也常用作一种信息安全的实现方法,由一串数据中经过散列算法(Hashing algorithms)计算出来的数据指纹(data fingerprint),经常用来识别文件与数据是否有被窜改,以保证文件与数据确实是由原创者所提供。

如今,散列算法也被用来加密存在数据库中的密码(password)字符串,由于散列算法所计算出来的散列值(Hash Value)具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码。---维基百科

哈希算法是将文件映射为较短的固定长度字符串(哈希值)。——维基百科

哈希就是把一个东西变成一串字符,这一串字符就代表了这一个东西,并且仅仅代表这一个东西。

不同的东西的哈希值不一样,哪怕是稍稍改动,哈希值也是面目全非。所以哈希运算可以对文章进行存证,对账单进行存证,并且原账单如果被篡改,哈希值也就不一样。

对本篇文章进行哈希,然后再加上一个时间戳,这就是版权存证了。哈希算法的优点是只存储文件的哈希值就可以而不用存储原件,这样就减小了数据库的容量,也提高了运算速度,所以才能够用在搜索引擎上面。

比特币网络只存储哈希值的情况下总区块大小已经有一两百个G,如果存储元交易数据的话,其大小不知会有多大,恐怕就没有多少人愿意去运行全节点。哈希算法可以把复杂的东西简单化,就像汤强的文章一样,总是能够把复杂的概念通俗的表述出来。

下面给读者提供两个哈希工具,供大家玩耍,也希望大家能够在玩耍的同时能够对哈希算法能够有一个更加深刻地认识。


1、哈希文件:http://www.atool.org/file_hash.php

2、哈希字符:http://www.kjson.com/encrypt/hash/?fm=map

“骁马奔腾”的sha256哈希值为:548c1b5a0f35c44cf53ff5b00f06a9cdfe4b608d8f7f478d8708c4127feea79f

以上文字是读汤强《如何给你的文件设定独一无二的编号?》文章的学习笔记。

你可能感兴趣的:(哈希算法)