日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

加密和杂凑(Hashing)有什么不一样?

發布時間:2024/1/8 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 加密和杂凑(Hashing)有什么不一样? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文標題:What is the difference between encryption and hashing?
原文作者: M157q
譯文出自:云子可信官方論壇
本文永久鏈接:https://bbs.cloudtrust.com.cn/thread-352-1-1.html
譯者:云子可信漢化組

前言

你可能或多或少都有看過或聽過「MD5 加密」、「MD5 解密」、「SHA-1 加密」、「SHA-1 解密」、「雜湊加密演算法」。但MD5 和SHA-1 實際上并不是加密演算法,而是雜湊演算法。那么究竟加密跟雜湊到底有什么不一樣,又該如何區分,這篇會跟大家好好聊一聊

雜湊(Hash)

其實雜湊在一些壓縮演算法或者排序演算法也都有用到,但這邊只就資訊安全相關的部分進行討論。

特性

雜湊演算法的輸出又被稱做「雜湊值」(hash value)。
無論原文的內容長短,雜湊值都會是固定的長度,不同雜湊演算法的輸出長度不同,即輸出長度與雜湊演算法有關,不受原文長度影響。
相同的內容作為相同雜湊演算法的輸入,得到的輸出必定一樣。不同的內容作為相同雜湊演算法的輸入,得到的相同輸出的機率極低。因此,兩個原文的內容即便只差一個字,雜湊演算法產生的兩個輸出內容卻會差非常多。
無法將雜湊演算法的輸出解回原本的輸入,雜湊是單向的。

用途

檔案校驗碼(Checksum)
用來快速判斷檔案是否和原本相同。

舉個栗子:論壇檔案下載

有在論壇下載過檔案的人應該都很常見到一長串 MD5 或 SHA-1 驗證碼,就是用來讓你快速檢查你下載的檔案里頭的內容,是不是跟上傳者上傳的檔案一樣。不一樣的話可能就是你載錯檔案、檔案有毀損或檔案被人加料了。

不需要被還原的資料
舉個栗子:避免明文儲存使用者密碼
避免直接儲存使用者的明文密碼,除了避免資料庫外泄時,攻擊者無需進一步運算就可以直接

常見演算法

  • SHA 系列
  • MD5
  • BLAKE2

結論

就是一串拿來做檢查的字串,但根據使用需求可以有不同的用途。

所以,為什么雜湊不是加密?

雜湊和加密很容易被人搞混的原因,主要是因為,雜湊和加密通常是一起使用的,常常被拿在一起講,所以久而久之就搞混了。

但其實可以透過以下幾點來區分:

  • 加密需要密鑰,且可以透過解密得到原文。(加密可逆)
  • 雜湊不需密鑰,無法逆向解出原始輸入。(雜湊不可逆)
  • 雖然可以透過額外儲存的rainbow table 來找尋原始輸入,但彩虹表是預先計算并儲存下來的, 而不是雜湊演算法本身的設計。

舉例

今天如果我拿到一串密文,我是有辦法透過解密,得到原始的明文的,而且如果使用非對稱式加密的話,我什至還可以驗證傳送方是不是本人(是否有被進行中間人攻擊)。

雜湊演算法在這里也會被使用,通常會被拿來檢驗傳送的訊息是否有被更改過。

傳送方附上原始訊息經過某個雜湊演算法得出的雜湊值,接收方在解開這個訊息之后,會透過相同的雜湊演算法來驗證。

但如果是拿到一串雜湊值的話,理論上是無法逆向得到原始的明文的,根本無法拿來做資料的傳遞。

所以別再說出「MD5 加密」、「MD5 解密」、「SHA-1 加密」、「SHA-1 解密」之類的話啦!

總結

以上是生活随笔為你收集整理的加密和杂凑(Hashing)有什么不一样?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。