雜湊與加密完全指南:MD5、SHA256、AES 的正確用法

加密編碼(更新於 2026年5月25日)

雜湊 vs 加密:關鍵區別

雜湊 (Hash) 加密 (Encryption)
可逆性 ❌ 不可逆 ✅ 可解密
用途 完整性校驗、指紋 保密傳輸
金鑰 不需要 需要金鑰
範例 MD5、SHA256 AES、RSA

常見誤區:「MD5 加密密碼」—— MD5 是雜湊不是加密,且已不安全。


雜湊演算法

MD5

  • 輸出:128 位 (32 十六進位字元)
  • 速度:極快
  • 安全性:❌ 已碰撞,不應用於安全場景
  • 適用:檔案完整性快速校驗(非安全)

使用 MD5 工具 計算檔案或文字的 MD5 值。

SHA 系列

演算法 輸出長度 安全性 適用
SHA-1 160 位 ❌ 已碰撞 遺留系統
SHA-256 256 位 ✅ 安全 推薦使用
SHA-512 512 位 ✅ 安全 高安全需求

使用 SHA256 工具 計算 SHA-256 雜湊。

HMAC

雜湊 + 金鑰 = 訊息認證碼。既驗證完整性,又驗證來源:

HMAC-SHA256(message, secret_key) → 認證雜湊

使用 HMAC 工具 計算 HMAC 值。


加密演算法

AES(對稱加密)

同一個金鑰加密和解密:

模式 特點 推薦
AES-128-CBC 經典模式 一般用途
AES-256-GCM 認證加密 推薦
AES-256-CTR 串流式加密 大檔案

使用 AES 加密工具 進行 AES 加解密。

何時用雜湊 vs 加密

檔案下載校驗 → SHA256 雜湊對比
密碼儲存   → bcrypt/argon2(不是 MD5!)
API 簽章   → HMAC-SHA256
資料傳輸   → AES-256-GCM 加密

常見誤用與正確做法

誤用 問題 正確做法
MD5 儲存密碼 彩虹表秒破 bcrypt/argon2 + salt
SHA256 儲存密碼 太快,易暴力破解 專用密碼雜湊函式
硬編碼 AES 金鑰 原始碼洩露 = 金鑰洩露 環境變數 / KMS
ECB 模式加密 相同明文 = 相同密文 使用 CBC/GCM 模式
雜湊 = 加密 概念混淆 需要解密用 AES

工具庫加密工具鏈

全部基於 Web Crypto API,瀏覽器本機處理:


總結

理解雜湊與加密的本質區別,選擇正確的演算法和模式,是資訊安全的基本功。工具庫提供完整的加密工具鏈,全部在瀏覽器本機執行,適合開發除錯和學習——但生產環境請使用經過稽核的密碼學函式庫。

#哈希#加密#MD5#SHA256#AES#安全