SHA1与SHA2与SHA256 – 有什么区别

更新时间:2025-05-12 来源:TopSSL 作者:TopSSL

SHA 是安全散列算法的首字母缩写,本文主要介绍SHA1与SHA2与SHA256 之间有什么区别

什么是散列算法?

散列是一种将任意大小的数据映射到固定长度输出的算法函数。有时人们称之为单向加密,但这并不完全准确。当你对某个数据进行散列时,它会创建一个哈希值,也就是我们刚才提到的固定长度输出。任何两段不同的数据都不可能产生相同的哈希值。事实上,即使对某段数据进行最细微的调整,也会导致不同的哈希值。

这是设计使然。它有助于确保文件或数据的完整性。那么,如果两个不同的数据确实创建了相同的哈希值,会发生什么呢?这被称为碰撞。一旦发生碰撞,就意味着哈希算法现在毫无意义。image

散列算法如何适应 SSL/TLS 和 PKI?

RSA(Rivest、Shamir、Adleman)是向其创始人致敬的缩写,而 SHA 则代表其功能:安全哈希算法 (Secure Hash Algorithm)。SSL 证书提交后,客户端(浏览器)需要进行身份验证,其验证方式是检查该证书是否由受信任的证书颁发机构签名。

为此,必须检查签名是否有效。最简单的方法是使用安全哈希算法(我用“a”而不是“the”是有原因的,我们稍后会讲到)。证书签名时,签名会被哈希处理,该信息会包含在证书详细信息中。因此,当证书提交给客户端时,客户端会对签名运行相同的哈希函数,并检查其是否生成相同的值。请记住,即使对签名进行最细微的调整也会改变哈希值,因此只要值匹配,就可以确保签名是真实的。

SHA1、SHA2 和 SHA256 之间有什么区别?

正如我们所讨论的,SHA 是安全散列算法的首字母缩写,因此虽然 SHA2 是 SHA1 的后继者,但它是一种完全不同的算法,或者更确切地说是一组算法,而不是原始算法的变体。

SHA1 由美国政府开发,本质上与 MD5 更接近。它创建消息摘要,即 160 位(20 字节)的哈希值,用 40 位长的十六进制字符串表示。SHA2也是由美国政府(特别是美国国家安全局)开发的,它实际上是一个算法家族,包含六种不同的哈希函数,它们可以生成不同长度的摘要/哈希值:224、256、384 或 512。

最流行的是 256,但涉及 SHA2 系列的命名法可能会令人困惑:

由于网站和作者对 SHA-2 哈希值的表述方式不同,因此它们可能会造成一些混淆。如果您看到“ SHA-2 ”、“ SHA-256 ”或“ SHA-256 位”,这些名称指的是同一个东西。如果您看到“SHA-224”、“SHA-384”或“SHA-512”,它们指的是 SHA-2 的不同位长。您可能还会看到一些网站表述得更明确,同时标明算法和位长,例如“SHA-2 384”。

SHA1 与 SHA256 或 SHA1 与 SHA2 之间的基本区别在于用于加密在线传输数据的密钥长度。SHA1 使用 160 位长的密钥加密数据,而 SHA256 使用 256 位长的密钥加密数据。SHA2 是美国政府开发的用于在线数据安全的算法系列。SHA2 使用不同长度的密钥(包括 224、256、384 和 512 位)来加密数据。SHA512 使用 512 位密钥进行加密。

什么是完整 SHA2?

您在 SSL/TLS 证书生成过程中会看到这一点。它指的是证书链中根证书和中间证书所使用的哈希算法。简而言之,每个操作系统都有一组根 CA 证书,保存在其信任库中。为了使 SSL证书获得信任,系统必须能够使用我们之前描述的数字签名将其链接回其中一个根证书。

所有最终用户 SSL/TLS 证书都必须使用 SHA2,但由于 SHA2 的普及性和历史原因,中间证书在某些情况下仍可能使用 SHA1。由于其对应的私钥已得到充分保护,因此这不被视为重大安全风险。但即使您希望拥有 SHA2 中间证书和根证书,或者完整的 SHA2 链,某些 CA (数字证书颁发机构(简称CA)是做什么的?)也提供此选择。

标签

有用
分享
无用
反馈
返回顶部
0 个回答
16 次浏览
立即加入,帮您快速选购适合您的SSL数字证书 申请SSL证书
免费SSL证书_专业SSL证书申请_HTTPS加密【TopSSL】
免费SSL证书永久生成
微信公众号二维码 扫一扫在线咨询
关注 TopSSL 公众号, RSS订阅 SSL资讯与技术支持

2004-2025 © 北京传诚信  版权所有 | TopSSL提供免费SSL证书SSL证书申请轻松实现HTTPS加密! 北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn