售前咨询
技术支持
渠道合作

一篇文了解SHA1算法、SHA2算法

SHA1算法、SHA2算法都是密码学中常用的哈希算法,两者都是安全散列算法SHA家族的成员,由美国国家安全局(NSA)设计,被应用在数字签名、数据完整性校验等领域。对于SHA1算法、SHA2算法大部分人了解不多,今天小编就来详细介绍一下,让您可以一篇文了解SHA1算法、SHA2算法。
首先,我们先来了解一下安全散列算法SHA
安全散列算法SHA,英文全称Secure Hash Algorithm,是由美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布的哈希算法。
SHA是一种信息摘要生成算法,即能计算出一个数字消息所对应到的长度固定的字符串,且输入消息不同,随机对应不同的字符串。
SHA是一个密码散列函数家族,家族的五个算法分别是SHA-1、SHA-224、SHA-256、SHA-384 和 SHA-512,其中SHA-224、SHA-256、SHA-384 、SHA-512统称为SHA2。

关于SHA1算法
SHA-1算法也写作SHA1算法,它是第一代 SHA 算法标准,由 MD4 算法导出,其可以生成160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
SHA1:可以生成长度160bit的信息摘要。
关于SHA2算法
近年来,SHA1算法的安全性逐渐受到质疑,由于其哈希值长度相对较短,使得出现哈希碰撞(哈希碰撞是指两个不同的输入所产生的哈希值相同)的可能性越来越高,而这可能导致一些安全漏洞。为了提高安全性,SHA2算法被引入。
SHA的SHA-224、SHA-256、SHA-384 、SHA-512统称为SHA2算法,SHA2算法可以理解为SHA1算法的继承者,相较于SHA1算法,SHA2算法的构造和签名的长度都有所不同。
SHA-256:可以生成长度256bit的信息摘要。
SHA-224:可以生成长度224bit的信息摘要。
SHA-512:可以生成长度512bit的信息摘要。
SHA-384:可以生成长度384bit的信息摘要。
SHA1算法、SHA2算法的不同点:
SHA1算法、SHA2算法虽然都是SHA家族的成员,但是他们也有很多不同点:
1、构造和签名长度不同
SHA1算法、SHA2算法有着不同的构造和签名长度,总体来说,SHA2算法签名长度长于SHA1算法。

2、算法运行时间不同
某网友做过一个测试,以一个60M的文件为样本,经过1000次的测试平均值,其中SHA1算法、SHA2算法运行时长表现如下:
SHA1算法运行1000次的平均时间为:308ms
SHA2算法运行1000次的平均时间为:473ms(以SHA-256算法为例)
总体来说,SHA2算法因其复杂性,耗时要比SHA1算法更长。

3、安全性不同
因为哈希值越大,组合越多,其安全性就越高,所以SHA2相较于SHA1安全的很多,也因为SHA-2的高安全性,所以目前SSL行业的代码签名证书大都采用SHA2。
以上就是关于SHA1算法、SHA2算法的全部内容了,综上所述SHA1和SHA2都是是常用的哈希算法,用于数字签名、数据完整性校验等领域。SHA1算法作为较早引入的算法,在安全性方面存在一定的弱点,而SHA2算法通过引入更复杂的运算和更长的哈希值,提高了安全性,这也使其在SSL行业得到广泛应用。
声明:本平台所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本平台赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现平台上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

上一篇:

下一篇:

相关新闻

 

领取优惠
免费预约

申请试用SSL证书

提交成功!

咨询客服