hash属于什么算法?常见的hash算法及其原理有哪些

链币网 2025-05-24 15:25:01

Hash属于一种将任意长度的数据可以变成固定长度输出的数据算法,主要是无论输入的数据有多长,得到的都是固定长度的数据,输入相同的数据就会得到相同输出的数据。需要注意的是得到的哈希值很难进行逆反推出获得最原始输出的数据。

1. MD5

这种算法输出的长度是在128位,将输入的数据先填充512位的倍数,然后分成512个数据块,将4个32位作为初始值,每个512位的数据块都会进行4个轮次的处理,每个轮次当中又包含16个步骤,每个步骤里面会将数据块的一部分和当前的非线性函数进行运算并且更新寄存器的值,所有数据块处理完毕之后,将4个寄存器的值连接在一起就成为128位的哈希值。

2. SHA-1

SHA-1算法是在1995年发布,一共有160位,原理主要是先将数据填充到512位,然后分成多个512位的数据块,初始数据是使用5个,每个512位的数据块经过4个轮次的处理,每一次当中都会有20个步骤,每个步骤都会将数据的一部分和寄存器的值进行运算,更新寄存器值,处理完成后,5个寄存器的值拼接在一起行程160位的哈希值。

3. SHA-2

SHA-2系列当中有SHA-256、SHA-384、SHA-512等,在2001年发布,主要原理是将输入的数据填充到512位的倍数,再进行512位数据块的分成,初始值是使用8个32位,每个512位的数据块进行64轮的处理,每一轮的处理都会包含加密运算等操作,目的是保证数据具有高度混淆性,将所有数据处理完成之后进行8个寄存器的值连接行程256位的哈希值。

三种常用的哈希算法使用场景不同,MD5速度是比较快,但是存在着严重的安全漏洞问题,现在主要是应用在非加密数据进行校验。SHA-1虽然比MD5要安全,但是从中仍然发现被碰撞攻击的风险,适用于数据签名等场景当中,不过目前逐渐的被淘汰不再使用。SHA-2当前仍然用于在安全的哈希算法当中,属于一种安全的算法。

关键词标签:hash属于什么算法

上一篇:比特币储存在u盘哪个位置 比特币放在u盘里安全吗
下一篇:鱿鱼币是什么币种,鱿鱼币怎么买?鱿鱼币投资入门介绍
相关文章