哈希运算
更新于 2026年10月10日
版权声明
哈希运算
哈希(Hash)本义是指一种用切碎的牛肉丁和土豆丁炖在一起的菜品,用其命名算法,是指对数据文件进行粉碎、搅拌和混合。
哈希又称“散列”,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值就是散列值。
所以,哈希算法的一般性定义是:将文件映射为较短固定长度字符串的算法。它需要满足以下条件:一是相同文件的哈希值必须相同;二是源文件稍作改动,哈希值就面目全非。三是不可逆推,即知道哈希值却永远无法知道源文件内容;四是计算速度快,哈希一部30G电影和一个256kB文件的时间几乎一样;五是发生碰撞的概率低,即越好的算法,不同的文件出现同样哈希值的可能性越低。(https://www.daowen.com)
哈希算法有很多种,比如MD5、CRC-32、SHA256等,比特币算法中使用的是SHA256。
我们使用SHA256加密“比特币加密算法”得到的结果是“cdbc79baa7cac 14fde9e6b0f0701ef4b870054b947c63ea9f34c236d7247c607”,如果我们将“比特币加密算法”加密,得到的结果是“66f0892d17625266e6ff3fb1c27c92e6aa72f0 54c23b69f941027bebd99ae744”,而如果我们将本节的所有内容使用SHA256加密,得到的结果是:“542cc094795dcc5dc0a0915b5d337f0bc6f0797a0e2A1f7676 c3def13c59c130”,完全符合上问所描述的特征。
正是由于哈希算法的上述特征,中本聪才选择它用于区块链中的索引、数据映射和最大工作量求解。