区块链中的哈希函数

哈希的英文叫hash,是一种把任意长度的输入,通过计算转换成固定长度的输出的计算方法。输入可以是包括文字或数字在内的任意数据信息,而输出通常只会有数字和英文,而且根据格式不同,比较容易搞混淆的英文数字会被放弃不用,比如数字的0和英文大写字母的O,还有数字的1和英文小写字母的l。

哈希函数拥有几个十分有用的特性,所以被广泛应用在各种暗号计算领域。

其中之一就是针对各种不同的输入会产生不同的输出,哪怕输入值只是有一点点十分微妙的不同,得到的输出值也会完完全全不一样。相反,如果输入值是一样的话,任何情况下计算得到的输出值都能保证是一样的。

另一个特性是哈希值计算的不可逆性和验证时的迅速性。

具体来说就是,拥有一个输出值想得到输入值的话,几乎不可能,但是相反,如果有输出值的话,立即就能得到与之对应的输出值。这个特性就被充分发挥在比特币的认证过程上,当某一个矿工宣布他发现了哈希值,其他矿工可以十分简单的验证这个哈希值是不是正确的输出。

最后是哈希值的计算方式。计算方式有很多种,比如md5,sha128等。现在被广泛利用的是sha256。随着计算机性能的不断提高,被破解的可能性会变大,所以哈希计算的计算方法也必须不断的升级,而且部分旧的计算方法也会被淘汰。

本文作者为U赞发烧友小斌哥

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180625A0KMDX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券