找回密码
 立即注册
查看: 20|回复: 0

数据词典:哈希算法(Hash Algorithm)

[复制链接]

656

主题

70

回帖

2291

积分

管理员

积分
2291
发表于 2025-11-10 10:05:02 | 显示全部楼层 |阅读模式
哈希算法也称散列算法,可以将任意长度的明文字符串映射成比较短的二进制串,且不同的明文串映射后的值几乎没有冲突。例如,将字符串hello,world”通过常见的MD5哈希算法进行计算后可以得到哈希值“3CB95CFBE1035BCE8C448FCAF80FE7D9”。
哈希值又称为指纹或者摘要,因为它足够验证文件的完整性与正确性。例如,对hello,world”稍加修改,使之变成“hello world”,那么经过MD5算法,哈希算法的计算得到的结果就会变成“5EB63BBBE01EEED093CB22BB8F5ACDC3”,与原先的摘要值截然不同。这是哈希函数的一个重要特性——如果哈希函数的输入是不同的,那么得到的哈希值输出在绝大多数情况下也是不同的。然后,由于哈希函数的输入和输出不可能是一对一的对应关系,那么必然存在着不同的输入有着相同的哈希值的情况,这种现象称为哈希碰撞,也称为哈希冲突。在哈希冲突的情况下,不同输入的哈希会产生相同的哈希值。
常见的哈希算法有MD5算法和SHA算法。
MDMessage Digest的缩写,其中,MD4MITRonald L. Rivest1990年提出,现已被证明不安全。MD5Rivest1991年改进提出的,但后续也被证明会产生哈希冲突,即会有不同的明文的哈希值是重复的,足够说明该算法并不安全,所以现在人们日常的哈希过程并不会采用MD5算法。
SHASecure Hash Algorithm)是一个哈希算法系列,SHA1算法在1995年由美国国家安全局提出,随后SHA2系统的SHA224SHA256SHA384SHA 512算法也陆续被美国国家安全局公布出来,到目前为止,MD5算法与SHA1算法已经被破解,被证明不再安全,在使用这类哈希算法时最起码要采用SHA2-256或者其他更安全的算法。
在区块链应用中,比特币采用了SHA2族的SHA2-256算法,通常也简称为SHA256算法。比特币在挖矿和生成地址的时候都采用了SHA256算法。而在以太坊中采用了SHA3哈希函数族的来源——keccak族的keccak256算法。
哈希函数本身是一种单射函数,所以,哈希的整个过程并不可逆,如果需要对明文数据进行隐藏和保密,则需要使用加解密算法。
【出处】郑子彬,陈伟利,郑沛霖.区块链原理与技术.清华大学出版社,20213月第1.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|全数联人才测评中心 ( 京ICP备2024094898号 )

GMT+8, 2025-11-18 07:39 , Processed in 0.382413 second(s), 19 queries .

版权所有: 全数联人才测评(北京)中心

友情链接: 中华全国数字人才培育联盟 全数联人才测评中心学习平台 全数联人才测评中心存证平台 全数联人工智能专员认证中心

快速回复 返回顶部 返回列表