加密和哈希的区别是什么?

2025年3月17日 | 阅读 10 分钟

要理解加密和哈希之间的关键区别,我们首先需要理解这两个术语的实际含义。

What is the difference between Encryption and Hashing

什么是加密?

加密基本上是一种数学技术,它采用一种或多种密码学技术来保护数字数据。由于加密过程中算法将明文(原始文本)转换为密文(文本的不可读形式),因此输入的數據将被渲染成不可读状态。

当需要读取数据时,授权人员可以通过二进制密钥或密码对其进行解密。用户在将密文转换回明文后,将能够获得原始数据。

敏感信息应始终进行加密,以防止黑客访问。例如,发送银行账户和信用卡详细信息的网站会加密敏感数据,以防范欺诈和身份盗窃。

要点

  • 数字加密采用一种通过密码学数学编码使原始信息不可读的技术来保护数字数据。
  • 它使得只有拥有正确密钥或密码的人才能读取或解密信息。
  • 在一个互联世界中,加密对于保护敏感数据、消息和金融交易至关重要。

为什么加密有用?

加密安全密钥的长度会影响加密的强度。在 20 世纪末,Web 开发人员使用了 40 位加密(其密钥有 240 种潜在排列)或 56 位加密。

What is the difference between Encryption and Hashing

到 20 世纪末,随着黑客成功破解了这些密钥,128 位方案被采纳为 Web 浏览器的先进加密标准 (AES) 加密长度。美国国家标准与技术研究院于 2001 年开发了 128、192 和 256 位密钥长度。大多数政府、银行和军队都使用 256 位加密。像比特币这样的去中心化加密货币的安全性和可用性是基于加密的。

加密方法

非对称加密

当安全性而非速度是重要因素,并且需要身份验证时,就会使用非对称加密。这种类型的加密用于区块链以批准比特币交易,以及用于在线签署文档时的数字签名。

非对称密钥技术倾向于对加密和解密使用不同的密钥。非对称加密技术包括 RSA 和 PKI。在 RSA 技术中,数据使用公钥进行加密,使用私钥进行解密,该技术经常用于安全数据传输。通过发行和管理数字证书,公钥基础设施 (PKI) 控制加密密钥。

对称加密

当速度比更高的安全性更重要时,就会使用对称加密,它使用单个、秘密的对称密钥来加密和解密明文。信用卡交易经常使用这种加密。

数据加密标准 (DES) 是一种低级加密块密码算法,以及先进加密标准 (AES),它是数据加密的金标准,也是美国政府的标准,这些都是对称加密的例子。DES 的工作是将明文转换为 64 位块,然后借助 48 位密钥将其转换为密文。

加密的优势

存储在计算机系统上或通过互联网通信的数字数据在加密后是保密的。随着企业越来越依赖混合云和多云环境,公共云安全以及跨复杂环境保护数据是一个挑战。

应始终牢记,云的安全是云服务提供商的责任,而存储在其中的任何数据的安全是客户的责任。必须保护组织的敏感信息,同时允许授权用户履行其职责。除了数据加密之外,这种保护还应包括强大的加密密钥管理系统、访问控制和审计日志功能。

对于本地和云数据在文件、数据库和应用程序级别上的加密和安全,对组织和消费者都有益。根据支付卡行业数据安全标准 (PCI DSS),商家在存储和通过开放网络传输客户的支付卡信息时,必须对其进行加密。

常见问题解答

加密的公钥和私钥有什么区别?

非对称加密密码学使用公钥和私钥来加密和解密数据。私钥只有所有者可以看到;然而,公钥允许向公众公开。此方法使用接收者的公钥加密消息,但只有接收者的私钥才能解密消息。

加密失败是如何发生的?

密码学故障是一种安全漏洞,它允许敏感数据(包括密码、患者病历、商业秘密、信用卡号、电子邮件地址和其他私人用户信息)暴露。

在 2013 年对 Target 公司的一次黑客攻击中,多达 4000 万张信用卡号被泄露。尽管信用卡数据已加密,但黑客的复杂性使他们能够绕过它,导致了美国历史上最大的此类泄露事件之一,并引发了司法部和美国特勤局的调查。

加密概览

为了在数字世界中保护私人数据、消息和金融交易的安全和保密,加密是必不可少的。它保护存储在计算机上或通过互联网发送的数字数据的隐私。有许多可用的加密方法,包括先进加密标准 (AES),它是美国政府的标准,也是数据加密的金标准。

什么是哈希?

哈希是一种数学技术,可以将任何长度的输入转换为特定长度的加密输出。正因为如此,无论涉及的实际数据或文件大小如何,其唯一的哈希值都保持不变,而与大小无关。由于哈希函数是“单向”的(就像绞肉机;您无法将绞碎的牛肉变回牛排),因此无法从哈希输出中“反向工程”输入。但是,如果我们对相同的数据使用相同的函数,哈希将与之前保持相同,允许我们确认数据相同,因此未损坏,前提是我们事先知道哈希值。

What is the difference between Encryption and Hashing

哈希对比特币区块链管理领域也做出了重大贡献。

主要经验

  • 哈希是一个满足加密要求的函数,用于保护信息。如果有人试图破解区块链,由于哈希具有预定的长度,因此几乎不可能预测到哈希值。
  • 给定相同的数据,始终会产生一个哈希值。
  • 哈希是区块链网络的基本组成部分之一。
  • 哈希是借助块头中包含的信息创建的。

加密的哈希过程是什么?

网络安全和一些加密货币协议(包括比特币)依赖于哈希操作。任何类型的数据都可以通过哈希转换为独特的文本字符串。这是一个简单的数学过程,很难撤销。普通用户在涉及密码时每天都会接触到哈希。电子邮件提供商在创建电子邮件地址和密码时不会存储密码;相反,他们会在密码经过哈希算法处理后存储密码的哈希值。每次登录时,电子邮件提供商都会哈希输入的密码,并将其与先前保存的哈希值进行比较。当两个哈希值匹配时,将允许访问电子邮件。

哈希如何工作?

典型的哈希函数接受可变长度的输入和固定长度的输出。在加密哈希函数中,哈希函数的报文传递特性辅以安全功能。哈希函数是控制加密过程的算法。

例如,安全哈希算法 256 (SHA-256) 通过以下方式加密其接收到的输入:

  • 将其转换为二进制
  • 生成哈希值
  • 设置常量
  • 逐位转换数据
  • 生成报文计划
  • 执行压缩循环
  • 更改输出值

创建哈希的函数是确定性的,这意味着当使用相同的输入时,它始终产生相同的输出。SHA 256 只需要极少的计算能力就可以在几毫秒内生成哈希输出,但这也使得解密输入变得困难。因此,哈希非常适合保护加密货币,因为现代技术需要几个世纪才能弄清楚如何撤销加密并获得原始输入。通过为消息或信息添加安全功能,加密哈希函数使其内容更难被解密。

即,加密哈希函数具有这三个特性:

  • 它们不会映射到任何两个相同的输入哈希,这意味着它们是无碰撞的。
  • 它们可以被隐藏:一个人很难从哈希函数的结果中推断出其输入值。
  • 它们应该促进解谜:选择一个产生预设答案的输入应该很困难。因此,输入应该确实是从各种来源选择的。
  • 由于哈希的特性,它经常用于在线安全,包括密码保护、数据泄露检测和验证下载文件的有效性。

加密货币和哈希

区块链,指通过哈希单独的交易数据块创建的全球分布式账本,是加密货币的基础。为了避免欺诈交易和双重支出,区块链只存储经过验证的交易。处理此哈希涉及挖掘和验证加密货币。

解决加密货币哈希的第一步是使用前一个块的块头作为输入来创建哈希。每个块头包含一个版本号、日期、前一个块的哈希、默克尔树根的哈希、nonce 和目标哈希。

加密和哈希

有什么区别?与加密相比,哈希更安全吗?

在数据安全领域,比较加密和哈希是很常见的做法,但为什么呢?在称为加密的双向函数中,数据被作为明文输入并输出为无法读取的密文。由于加密是双向的,因此可以解密数据以使其再次可读。相反,单向哈希使用无法逆转的盐将明文混淆为单一摘要。虽然从技术上讲可以逆转哈希,但这样做需要大量的计算能力。

What is the difference between Encryption and Hashing

哈希算法用于执行哈希工作。该方法在冲突抵抗方面表现最佳。冲突抵抗是指每个摘要都与其他摘要不同且不重叠。这意味着哈希技术必须足够复杂,以防止哈希重叠,同时在计算时间方面仍可管理。有两种主要的加密类型,并且有几种常见的算法类型用于加密和哈希。

流行的哈希和加密算法

加密有两种:对称加密和非对称加密。在非对称加密中,公钥和私钥分别用于加密和解密。数据使用私钥进行加密,私钥只有加密者本人可以访问。公钥用于解密,任何人都可以访问。由于如果数据在传输过程中被篡改,则无法使用私钥重新加密数据,因此非对称加密允许对数据进行身份验证。在对称加密中,使用相同的密钥进行加密和解密。由于使用单个密钥,因此这种加密方法安全性较低,但速度更快,所需的计算资源也更少。

哈希和加密的区别

尽管有相似之处,但加密和哈希的目的不同。哈希用于比较大量数据等。

由于哈希值比大数据块短得多,因此更容易比较。由于使用哈希进行标识值既快速又有效,并且哈希不重叠,因此哈希还用于数据映射。哈希还用于生成随机文本和数字签名,以防止数据库中的数据重复。哈希技术应用于密码,因为它们几乎不可能被逆转。这缩短了密码并防止黑客发现它。

What is the difference between Encryption and Hashing

另一方面,加密通常用于在数据传输过程中对其进行加密。由于传输中的数据只能由预期的接收者查看,因此必须以防范 xx 访问的方式进行发送。在数据传输过程中,数据会被加密,以便除解密密钥的所有者外,任何人都无法读取。在需要数据处于静止状态但之后可恢复的情况下,例如身份验证过程、数据库存储和检索以及其他情况,都需要使用加密而不是哈希。

哈希与加密:有什么区别?

加密:-

  • 定义- 一种双向函数,接受明文输入并将其转换为无法解密的密文。
  • 是否可逆?- 可逆。
  • 固定长度还是可变长度输出?- 可变长度
  • AES、RC4、DES、RSA 和 ECDSA 是常见算法。

哈希-

  • 哈希定义:一种单向模糊敏感数据的方法。使用哈希技术,将明文转换为无法轻易恢复到原始明文的独特哈希摘要。
  • 是否可逆?- 不可逆
  • 固定长度还是可变长度输出?- 固定长度输出
  • SHA-1、SHA-2、MD5、CRC32 和 WHIRLPOOL 是常见算法。

结论

加密和哈希都是为了保护有价值的信息而创建的过程,以便防止其落入不法分子之手。这两种过程之间存在许多差异,例如一种是双向的,另一种是单向的,但尽管如此,加密和哈希在当今世界中对于保护数据都非常重要。


下一主题区别