

孰优孰劣:哈希与加密之争
source link: https://www.51cto.com/article/720450.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

译者 | 刘涛
审校 | 孙淑娟
在技术领域,哈希和加密一直是争论的焦点。两个安全措施各有各自的利弊、用途和功能,且完全相互独立。
我们可以理解为一个是单向通道,另一个是双向通道。在单向通道中,您驱车只能朝一个方向移动;而双向通道则不同,您可以朝相反的方向移动,但只能在允许反向移动的那一侧。若在单向通道中,把车逆向行驶会造成交通事故。
同样,加密与哈希最大的不同在于方向。在加密过程中,我们可以对消息进行加密和解密;但在哈希算法中,消息一旦被加密,就不能被解密。了解到这一点后,我们继续详细地比较一下加密和哈希的区别。
一、哈希和加密各自的用途
根据定义,加密主要是用来把明文转换成密文。这样做是为了确保信息在通过数字媒体共享时的安全性和保密性。
通过加密,任何未经授权的人,即没有解密密钥的人,都不能访问数据。即使那些能够访问解密密钥并且能够访问加密数据的人,对于如何与数据进行交互的能力也是有限的。
因此,加密被广泛用于共享文件,图片,文字,视频和其他类型的信息。
实现哈希的目的各不相同。当需要的时候,它用来比较相同的数据集,以确保数据没有被篡改。当数据量很大的时候,比较哈希函数相较于比较每个比特数据要容易得多。
除了存储和保护密码外,哈希函数也用于数字签名。比如,我们使用几何哈希系统识别并匹配计算机中类似的图形,或者匹配一些可以识别的物体,即使这些物体经过一些修改。
总之,加密的目的在于确保数据的保密性。但是哈希的目的在于确保数据的完整性。
二、方向 | 单向和双向
哈希不存在反向过程。这意味着当文本被hash后,我们无法反向解析它来找到原始消息。但是,对于哈希,由于系统用于不同的目的,因此不需要取消哈希或反转进程。虽然我们无法反转哈希函数,但可以用它映射安全信息。如果验证了哈希代码是可信的,那么哈希信息就是安全的。
另一方面,加密是双向的。一旦对模糊信息应用加密,则同样的信息可以反向解密。
三、哈希与加密中使用的算法
加密和哈希之间的另一部分差异源于算法的使用。下面列出了一些算法供您参考:
1.加密算法或系统
对称加密:
其中一种加密技术是对称的。这意味着使用密钥对信息进行加密和解密。因此,如果有人使用字符串对数据进行加密,那么其他人就会使用同样的字符串来解密。因此,密钥必须存在于客户端和服务器中。
非对称加密:
非对称加密使用两种不同的密钥;一个是网站/服务器和用户可访问的公钥。另一个是管理员使用的私钥。在这种情况下,公钥用于加密,私钥用于解密。
2.哈希算法
MD5算法输出为128比特。它继承了MD4算法,并对其进行了一些改进。然而,尽管MD5算法已经取得了很大的进步,但仍然存在着漏洞和冲突的问题。
SHA256:
SHA算法由美国国家安全局引入。这种哈希算法在很多组织中得到广泛应用,它的更新速度也很快,使其随着时间的推移更加安全。SHA提供256位的保护,这被认为是基于哈希安全的最高形式。
Tiger:
Tiger是MD5算法的升级版本,因为它提供192位比特输出。现代计算机和软件都使用Tiger算法。今天,我们还有Tiger2算法,这是一种高级加密解决方案。
四、哪个更安全?哈希还是加密?
由于两种安全标准都有各自的用途和用途,所以没有简单的方法来回答这个问题。但是,为了便于讨论,我们可以量化比较它们的安全程度。
让我们比较破解加密和哈希保护所需的时间。

从上表中可以确定,加密比哈希更难被破解。我们讨论的是需要数十亿到万亿年的时间来破解密码。
但是为了让哈希变得更有挑战性、更难破解,我们可以使用一种“加盐”技术。这是一个额外的排序预防措施,可以在哈希值内容中添加随机字符串。使用加盐技术可以使哈希值变得更加复杂。
因此,破解代码需要更高的计算能力。它主要保护密码不受哈希表的攻击,并且逆向工程哈希值来破解密码。
通过哈希和加密,我们会得到基于输出的结果:加密的文本或哈希值。然而两者的区别是:一种输出固定值;而另一种输出值依赖于输入值。我们来看看它们有多大不同。
在哈希函数里,只能输出有限的字符,而不管输入长度如何。换言之,我们可以为一整本200页的书创建一个哈希值,或为10个字符的字符串创建哈希值,但这两种情况下输出的哈希值结果或多或少是相同的。
这是因为产生的哈希值不会将纯文本转换成其他格式。它只创建用于当前信息的哈希值。更改哈希文本会导致修改哈希值。
但是加密时,输出依赖于文本的加密。文本越长,密码文本就越长。
哈希和加密虽然是增强系统安全性的两种不同的技术措施,但是它们在当今世界都占据了非常重要的地位。如今我们在网上所做的任何事情,都有可能被第三方轻易地破解或者入侵。因此,为了保护数据,必须在两者中选择一种,或者两者兼而有之。
由于它们的用途和控制领域不同,所以我们可以在相同的环境下使用它们。本文对哈希加密技术以及如何有效地保护在线交易和数据安全网络进行了综述。
原文链接:
https://hackernoon.com/the-battle-of-the-best-hashing-vs-encryption
刘涛,51CTO社区编辑,某大型央企系统上线检测管控负责人。
</article
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK