密碼加密方式

2021-09-25 07:43:37 字數 1314 閱讀 9036

特點:加密解密效率高、速度快、空間占用小、加密強度高

缺點:參與多方都需要持有金鑰、一旦有乙個人洩露則安全性遭到破壞、另外再不容安全通道下分發金鑰也是個問題。

代表演算法:des、3des、aes、idea等等

des:其金鑰長度為56位+8位校驗 破解方式:暴力破解

3des:3重des操作 演算法不能靠累積增加防禦力

aes:分組演算法、分組長度為128、192、256位三種、其優勢在於 速度快 整個過程可以數學化描述、目前尚未有效破解手段

適合場景:適用於大量資料加解密、不能用於簽名場景 需要提前分法金鑰

介紹:即公鑰+私鑰 公鑰是公開的、私鑰是個人持有的

代表演算法:rsa、eigamal、橢圓演算法 ecc

rsa:經典的公鑰演算法 安全性未知

eigamal:利用了模運算下求離散對數困難的特性

橢圓曲線演算法:現代備受關注的演算法系列,基於對橢圓曲線上特定點進行特殊乘法逆運算難以計算的特性。

ps:rsa 演算法等已被認為不夠安全,一般推薦採用橢圓曲線系列演算法。

先用計算複雜度高的非對稱加密協商乙個臨時的對稱加密金鑰(會話金鑰,一般相對內容來說要短得多),然後對方在通過對稱加密對傳遞的大量資料進行加解密處理。

典型應用:現在大家常用的https機制、https實際上是利用了transport layer security/secure socket layer(tls/ssl)來實現可靠性傳輸。

建立安全連線步驟:

客戶端瀏覽器傳送資訊到伺服器,包括隨機數 r1,支援的加密演算法型別、協議版本、壓縮演算法等。注意該過程為明文。

服務端返回資訊,包括隨機數 r2、選定加密演算法型別、協議版本,以及伺服器證書。注意該過程為明文。

瀏覽器檢查帶有該**公鑰的證書。該證書需要由第三方 ca 來簽發,瀏覽器和作業系統會預置權威 ca 的根證書。如果證書被篡改作假(中間人攻擊),很容易通過 ca 的證書驗證出來。

如果證書沒問題,則用證書中公鑰加密隨機數 r3,傳送給伺服器。此時,只有客戶端和伺服器都擁有 r1、r2 和 r3 資訊,基於 r1、r2 和 r3,生成對稱的會話金鑰(如 aes演算法)。後續通訊都通過對稱加密進行保護。

加鹽需要注意兩點:短鹽值、鹽值重複

兩大弊端:鹽值重複或者硬編到軟體中、可以通過破解軟體、專門為這個軟體生成彩虹表和查詢表

鹽值太短:就相當於降低密碼複雜度、這使得破解字典體積更小、跑字典破解更快。

public

class

md5test

}

讓密碼更難破解:慢雜湊函式

pbkdf2、bcrypt、scrypt曾經是最常用的三種密碼hash演算法。

傳輸密碼加密方式

雜湊雜湊雜湊雜湊並不能算是嚴格意義上的加密技術,因此我把它稱為通用意義上的加密技術,雜湊雜湊的通用定義是 通過一些不可逆的雜湊演算法將原本的明文內容轉化為雜湊後的密文內容。由於雜湊演算法幾乎不可逆,因此攻擊者幾乎無法通過密文猜測到對應的明文內容。通過這種機制做到加密控制,典型的演算法由我們之前耳熟能...

密碼的加密方式

1.簡單的md5 密碼 如果密碼表洩露了,有可能通過查詢社工庫查詢到密碼。2.明文密碼更不安全,一旦資料庫表洩露,危害非常大。3.採用 md5 密碼 guid 或者 sha 密碼 guid 加密的方式,即使發生資料庫洩露,也很難查詢到原始密碼。4.採用多次md5的方式,在客戶端計算一定的次數,在伺服...

php密碼複雜,php密碼加密方式問題

我不做比較,純分享乙個網上流傳的 提供參考 discuz加密解密 param type string 明文 或 密文 param string operation decode表示解密,其它表示加密 param string key 密匙 param integer expiry 密文有效期 fun...