在filecoin中不管是数据的切片上传还是数据的寻找下载都绕不开一个词——哈希加密。那么哈希加密到底是什么呢?它的计算逻辑是什么?而Filecoin中又为什么选择了哈希算法呢?
什么是哈希加密?
哈希加密其实是哈希算法即散列函数(hash function)的音译,通常意义上是指把任意数字、文本、图片等文件通过散列算法变成一个固定长度的输出数值,这种计算方式就是哈希算法,因为在输出后你只能得到一串字符不知道具体内容指什么,且不同的输入又会得到不同的输出值,所以又称为哈希加密。
图1 滨链通过哈希算法之后得到的固定数
可以简单地理解为你有一千本书,当你想找某一本书的时候因为基数过大不可以一下子就找到,这时候你对这一千本书进行编程,将每一本书的信息都通过编程变为一串数字,然后将数字按照顺序放置,当你想要找某一本书时只需要输入名字找到它对应的序列就可以在这一千本书中轻易找到自己想要的。
这里为大家准备了一个哈希加密的网页,感兴趣的小伙伴可以自己尝试一下。
http://tool.chinaz.com/tools/hash.aspx
哈希函数的计算逻辑是什么?
哈希算法虽然被称为算法,但实际上它更像是某一类算法逻辑总称,因为哈希算法其实并没有某一个固定的公式,只要符合这种逻辑的算法都可以被称为是哈希算法。我们比较常见的有MD4、MD5、SHA-1、SHA-256等等,而Filecoin中使用的就是SHA-256。
SHA-256其实是SHA-2包含的六个标准算法中的一个,对于任何输入的文件