譯者 | 劉濤
審校 | 孫淑娟
在技術領域,哈希和加密一直是爭論的焦點。兩個安全措施各有各自的利弊、用途和功能,且完全相互獨立。
我們可以理解為一個是單向通道,另一個是雙向通道。在單向通道中,您驅車只能朝一個方向移動;而雙向通道則不同,您可以朝相反的方向移動,但只能在允許反向移動的那一側。若在單向通道中,把車逆向行駛會造成交通事故。
同樣,加密與哈希最大的不同在于方向。在加密過程中,我們可以對消息進行加密和解密;但在哈希算法中,消息一旦被加密,就不能被解密。了解到這一點后,我們繼續(xù)詳細地比較一下加密和哈希的區(qū)別。
一、哈希和加密各自的用途
根據(jù)定義,加密主要是用來把明文轉換成密文。這樣做是為了確保信息在通過數(shù)字媒體共享時的安全性和保密性。
通過加密,任何未經授權的人,即沒有解密密鑰的人,都不能訪問數(shù)據(jù)。即使那些能夠訪問解密密鑰并且能夠訪問加密數(shù)據(jù)的人,對于如何與數(shù)據(jù)進行交互的能力也是有限的。
因此,加密被廣泛用于共享文件,圖片,文字,視頻和其他類型的信息。
實現(xiàn)哈希的目的各不相同。當需要的時候,它用來比較相同的數(shù)據(jù)集,以確保數(shù)據(jù)沒有被篡改。當數(shù)據(jù)量很大的時候,比較哈希函數(shù)相較于比較每個比特數(shù)據(jù)要容易得多。
除了存儲和保護密碼外,哈希函數(shù)也用于數(shù)字簽名。比如,我們使用幾何哈希系統(tǒng)識別并匹配計算機中類似的圖形,或者匹配一些可以識別的物體,即使這些物體經過一些修改。
總之,加密的目的在于確保數(shù)據(jù)的保密性。但是哈希的目的在于確保數(shù)據(jù)的完整性。
二、方向 | 單向和雙向
哈希不存在反向過程。這意味著當文本被hash后,我們無法反向解析它來找到原始消息。但是,對于哈希,由于系統(tǒng)用于不同的目的,因此不需要取消哈?;蚍崔D進程。雖然我們無法反轉哈希函數(shù),但可以用它映射安全信息。如果驗證了哈希代碼是可信的,那么哈希信息就是安全的。
另一方面,加密是雙向的。一旦對模糊信息應用加密,則同樣的信息可以反向解密。
三、哈希與加密中使用的算法
加密和哈希之間的另一部分差異源于算法的使用。下面列出了一些算法供您參考:
1.加密算法或系統(tǒng)
對稱加密:
其中一種加密技術是對稱的。這意味著使用密鑰對信息進行加密和解密。因此,如果有人使用字符串對數(shù)據(jù)進行加密,那么其他人就會使用同樣的字符串來解密。因此,密鑰必須存在于客戶端和服務器中。
非對稱加密:
非對稱加密使用兩種不同的密鑰;一個是網站/服務器和用戶可訪問的公鑰。另一個是管理員使用的私鑰。在這種情況下,公鑰用于加密,私鑰用于解密。
2.哈希算法
MD5:
MD5算法輸出為128比特。它繼承了MD4算法,并對其進行了一些改進。然而,盡管MD5算法已經取得了很大的進步,但仍然存在著漏洞和沖突的問題。
SHA256:
SHA算法由美國國家安全局引入。這種哈希算法在很多組織中得到廣泛應用,它的更新速度也很快,使其隨著時間的推移更加安全。SHA提供256位的保護,這被認為是基于哈希安全的最高形式。
Tiger:
Tiger是MD5算法的升級版本,因為它提供192位比特輸出?,F(xiàn)代計算機和軟件都使用Tiger算法。今天,我們還有Tiger2算法,這是一種高級加密解決方案。
四、哪個更安全?哈希還是加密?
由于兩種安全標準都有各自的用途和用途,所以沒有簡單的方法來回答這個問題。但是,為了便于討論,我們可以量化比較它們的安全程度。
讓我們比較破解加密和哈希保護所需的時間。
從上表中可以確定,加密比哈希更難被破解。我們討論的是需要數(shù)十億到萬億年的時間來破解密碼。
但是為了讓哈希變得更有挑戰(zhàn)性、更難破解,我們可以使用一種“加鹽”技術。這是一個額外的排序預防措施,可以在哈希值內容中添加隨機字符串。使用加鹽技術可以使哈希值變得更加復雜。
因此,破解代碼需要更高的計算能力。它主要保護密碼不受哈希表的攻擊,并且逆向工程哈希值來破解密碼。
輸出長度
通過哈希和加密,我們會得到基于輸出的結果:加密的文本或哈希值。然而兩者的區(qū)別是:一種輸出固定值;而另一種輸出值依賴于輸入值。我們來看看它們有多大不同。
在哈希函數(shù)里,只能輸出有限的字符,而不管輸入長度如何。換言之,我們可以為一整本200頁的書創(chuàng)建一個哈希值,或為10個字符的字符串創(chuàng)建哈希值,但這兩種情況下輸出的哈希值結果或多或少是相同的。
這是因為產生的哈希值不會將純文本轉換成其他格式。它只創(chuàng)建用于當前信息的哈希值。更改哈希文本會導致修改哈希值。
但是加密時,輸出依賴于文本的加密。文本越長,密碼文本就越長。
五、結論
哈希和加密雖然是增強系統(tǒng)安全性的兩種不同的技術措施,但是它們在當今世界都占據(jù)了非常重要的地位。如今我們在網上所做的任何事情,都有可能被第三方輕易地破解或者入侵。因此,為了保護數(shù)據(jù),必須在兩者中選擇一種,或者兩者兼而有之。
由于它們的用途和控制領域不同,所以我們可以在相同的環(huán)境下使用它們。本文對哈希加密技術以及如何有效地保護在線交易和數(shù)據(jù)安全網絡進行了綜述。
原文鏈接:
??https://hackernoon.com/the-battle-of-the-best-hashing-vs-encryption??
劉濤,51CTO社區(qū)編輯,某大型央企系統(tǒng)上線檢測管控負責人。