編碼 雜湊(雜湊) 加密的區別

2021-07-29 07:03:04 字數 846 閱讀 5832

網上經常看到有人混淆這幾個概念,把 md5、sha256 甚至還有 base64 當作加密演算法,弄不清楚摘要、編碼、加密的區別,下面就這幾個概念結合幾個例子來區分以下。

編碼本質上是資訊形式的轉化。編碼的目的不是為了加密資訊,是將訊息轉化成統一的格式,方便在不同系統之中傳輸。例如最常見的ascii字元編碼。由於網路上只能傳輸二進位制資料,任何資料如果想要經由網路傳輸,就必須先轉化成二進位制,ascii 提供了乙個將a、b、c等字母轉化為二進位制的規則。

資訊—>編碼—>二進位制—>解碼—>資訊

通過解碼可以還原原始資訊

例子:ascii, unicode, url encoding, base64等

輸入相同時,輸出一致

輸入不同時,輸出不同

通過輸出,不能計算出輸入

對輸入的任何細微修改,都會導致完全不同的輸出

由於以上特性,摘要也常被用來給密碼加密,不過由於計算機運算能力的提公升以及越來越豐富的破解手段,已不建議使用摘要演算法來給密碼加密。

通過摘要資訊不能還原原始資訊

例子:md5, sha系列

加密是為了保證資料安全傳輸,使得其他人不能獲取的具體資訊內容。例如你想給某人傳送一封密信,或通過網際網路給人傳送密碼,這些對隱秘性要求比較強的事情,就需要對資訊進行加密。

加密的專注點不在可用性上,這點和編碼有明顯的區別。加密是可逆的,明文 + 秘鑰 = 加密資訊

加密又分為對稱加密和非對稱加密,區別在於在加密和解密資訊時秘鑰是不是同乙個。

加密資訊能通過金鑰被還原為原始資訊

對稱加密:des, aes

非對稱加密: rsa

對稱加密 非對稱加密 雜湊(雜湊)演算法

也叫私鑰加密演算法,其特徵是收信方和發信方使用相同的金鑰,即加密金鑰和解密金鑰是相同或等價的。也叫公鑰加密演算法。其特徵是收信方和發信方使用的金鑰互不相同,而且幾乎不可能從加密金鑰推導解密金鑰。用公鑰加密的過程叫加密 用私鑰解密的過程叫解密 用私鑰加密的訊息稱為簽名,只有擁有私鑰的使用者可以生成簽名...

C 雜湊加密

1.方法一 具體在程式中使用加密解密演算法的例子如下 在傳送頁面 response.redirect gridview.aspx?id encrypt zlh abcdefgh 在接受頁面 string acceptstr acceptstr decrypt request.querystring ...

雜湊演算法加密

雜湊演算法加密 import hashlib password 123456 defpwd hs pwd hashlib.md5 採用hashlib.md5 加密方式,獲得乙個雜湊物件 hs pwd.update password.encode utf 8 為密碼進行加密 加鹽,增加撞庫成本 sal...