AES加密/解密
AES加密解密工具,支援CBC、CFB、CTR、OFB、ECB模式,Pkcs7/ZeroPadding/NoPadding填充,128/192/256位元金鑰,Base64輸出,自動識別金鑰/IV格式
什麼是AES加密?
AES(進階加密標準)是一種廣泛用於保護資料的對稱加密演算法。它對128位元資料區塊進行操作,支援128、192和256位元金鑰。AES是全球採用最廣泛的加密標準。
加密模式有哪些?
CBC將區塊鏈結在一起,安全性更好。CFB將AES轉為自同步串流加密。CTR使用計數器實現可平行加密。OFB建立金鑰串流進行串流加密。ECB獨立加密每個區塊——安全性最低,不建議用於大資料量。
什麼是填充?
填充新增額外位元組將資料對齊到區塊邊界。Pkcs7是最常用和推薦的填充方式。Iso97971在Pkcs7填充前新增一個位元組。AnsiX923用零和一個長度位元組填充。Iso10126使用隨機位元組和長度位元組。ZeroPadding用零位元組填充。NoPadding要求輸入恰好對齊到區塊邊界。
輸出格式是什麼?
加密輸出預設使用Base64編碼,這是最常用且緊湊的格式。金鑰和IV輸入支援自動識別Hex、Base64或UTF-8格式——只需貼上金鑰或IV,工具會自動識別格式。
AES加密的安全建議?
使用強隨機金鑰(使用產生按鈕)。優先使用CBC或CTR模式而非ECB。使用AES-256獲得最高安全性。在CBC、CFB、CTR和OFB模式下,每次加密務必使用唯一的IV。切勿重複使用相同的金鑰-IV組合。
我的資料會傳送到伺服器嗎?
不會,所有加密和解密都在您的瀏覽器中使用CryptoJS函式庫本機執行。您的資料、金鑰和IV不會離開您的裝置。
支援哪些金鑰長度?
AES支援三種金鑰長度:128位元(16位元組)、192位元(24位元組)和256位元(32位元組)。AES-128滿足大多數使用場景,AES-192提供額外安全裕度,AES-256提供最高安全級別,推薦用於機密資料。
AES-128、AES-192和AES-256有什麼區別?
區別在於金鑰長度和加密輪數:AES-128使用10輪加密,AES-192使用12輪,AES-256使用14輪。AES-256安全性最強但速度略慢。對於大多數應用場景,AES-128已被認為在目前技術下無法破解。
AES的歷史是什麼?它用在哪些地方?
AES由美國國家標準與技術研究院(NIST)於1997年發起選型,用於替代DES。2001年正式成為標準。如今AES被全球政府、軍隊和金融機構廣泛使用。它保護HTTPS連線、WiFi網路、磁碟加密和壓縮檔案。AES被認為是有史以來最安全的加密演算法之一。
为什么不推薦使用ECB模式?
ECB模式對相同的明文塊加密產生相同的密文塊,這會暴露資料中的模式。例如,用ECB加密圖片仍能看到圖片輪廓。這使得ECB容易受到模式分析攻擊。請始終使用CBC、CTR、CFB或OFB模式,並配合隨機IV。
AES有哪些實際應用?
AES應用於HTTPS/SSL安全瀏覽、WPA2/WPA3 WiFi安全、VPN連線、藍牙加密、加密通訊應用、磁碟加密(BitLocker、FileVault)、壓縮檔案(ZIP、RAR)以及政府機密文件保護。
Hex和Base64輸出有什麼區別?
Hex(十六進位)使用16個字元(0-9、A-F)表示二進位資料,字串較長。Base64使用64個字元(A-Z、a-z、0-9、+、/),相同資料比Hex短約33%。兩者都是將二進位資料表示為文字的常用格式。請根據系統需求選擇。