搞懂加密(Encrypt):上鎖與解鎖的概念

Published December 11, 2025 by 徐培鈞
基礎概念

前面我們聊了雜湊(Hash)和編碼(Encode),現在要來講最後一個:加密(Encrypt)

加密應該是這三個裡面最好理解的,因為它就像我們日常生活中幫東西「上鎖」一樣。

但很多人會把加密和編碼搞混,覺得它們都是「可以轉過去、也可以轉回來」的東西。

沒錯,它們都是雙向的,但最大的差別在於:加密需要鑰匙,編碼不需要

這篇文章會讓你搞懂加密是什麼,以及它跟編碼到底差在哪裡。

加密是什麼?

用腳踏車鎖來理解

加密的概念,就像你幫腳踏車上鎖一樣:

  • 上鎖(加密):把腳踏車鎖起來,別人就騎不走
  • 解鎖(解密):用鑰匙打開,你就可以騎走

重點是:你需要一把鑰匙

實際上怎麼運作?

原始資料 + 鑰匙 ──→ Encrypt(加密) ──→ 加密後的資料
加密後的資料 + 鑰匙 ──→ Decrypt(解密) ──→ 原始資料

沒有鑰匙,就沒辦法加密或解密。

這就是加密最核心的概念。

加密 vs 編碼:差在哪裡?

很多人會搞混這兩個,讓我們來釐清一下:

編碼(Encode)雙向
加密(Encrypt)雙向
編碼(Encode)❌ 不需要
加密(Encrypt)✅ 需要
編碼(Encode)沒有保護作用
加密(Encrypt)有保護作用

簡單來說:

  • 編碼:任何人都可以解開,因為不需要鑰匙
  • 加密:只有有鑰匙的人才能解開

三個觀念的完整比較

現在我們可以把雜湊、編碼、加密三個放在一起比較:

雜湊(Hash)單向
編碼(Encode)雙向
加密(Encrypt)雙向
雜湊(Hash)
編碼(Encode)
加密(Encrypt)
雜湊(Hash)不能
編碼(Encode)可以
加密(Encrypt)可以(要有鑰匙)

記住這個口訣:

  • 雜湊:單向,沒鑰匙
  • 編碼:雙向,沒鑰匙
  • 加密:雙向,有鑰匙

加密的三種類型

既然加密需要鑰匙,那鑰匙就有學問了。

我們用「鎖頭」和「鑰匙」來理解會更直觀。

對稱式加密:一個鎖頭,兩把一樣的鑰匙

概念

想像你要寄一個上鎖的箱子給朋友:

  • 你有一個鎖頭兩把一模一樣的鑰匙
  • 你留一把,另一把事先給你朋友
  • 你把東西放進箱子,用鎖頭鎖起來
  • 朋友收到後,用他那把鑰匙打開

因為雙方都有鑰匙,所以:

  • 你可以鎖,朋友可以開
  • 朋友也可以鎖,你也可以開

雙向都能加密、都能解密。

原始資料 + 鑰匙A ──→ 加密 ──→ 密文
密文 + 鑰匙A ──→ 解密 ──→ 原始資料

常見的對稱式加密

AES(Advanced Encryption Standard) 是最常見的對稱式加密演算法。

對稱式的問題

聽起來很方便,但有一個麻煩:你要怎麼把鑰匙安全地交給對方?

如果你把鑰匙用網路傳過去,萬一被攔截,別人也拿到鑰匙了,那你的加密就沒用了。

這就是為什麼會有非對稱式加密。

非對稱式加密:一個鎖頭,一把鑰匙

概念

這次換一個情境:

  • 你朋友給你一個打開的鎖頭(但他保留唯一的鑰匙)
  • 你把東西放進箱子,用這個鎖頭鎖起來
  • 鎖上之後,連你自己都打不開
  • 只有你朋友有鑰匙,只有他能打開

這就是非對稱式加密:

  • 鎖頭(公鑰):可以公開給任何人,誰都能拿來上鎖
  • 鑰匙(私鑰):只有收件人自己有,只有他能解鎖
原始資料 + 公鑰 ──→ 加密 ──→ 密文
密文 + 私鑰 ──→ 解密 ──→ 原始資料

那如果要雙向通訊呢?

你可能會想:這樣我只能傳給他,他怎麼傳給我?

答案是:雙方各自都有一組鎖頭和鑰匙

  • 你有:你的鎖頭(公鑰)+ 你的鑰匙(私鑰)
  • 朋友有:朋友的鎖頭(公鑰)+ 朋友的鑰匙(私鑰)

這樣:

  • 你傳給朋友:用朋友的鎖頭鎖 → 朋友用朋友的鑰匙
  • 朋友傳給你:用你的鎖頭鎖 → 你用你的鑰匙

常見的非對稱式加密

RSA 是最經典的非對稱式加密演算法,常用於:

  • 數位簽章:證明這份文件確實是你發出的
  • SSH 金鑰登入:用金鑰登入遠端伺服器,不用打密碼
  • 加密電子郵件:像 PGP/GPG 就是用非對稱式加密來保護信件內容

混合式加密:兩種方式一起用

為什麼需要混合式?

非對稱式加密很安全,但有一個缺點:速度比較慢

如果你要傳一個很大的檔案,全部都用非對稱式加密,會花很多時間。

對稱式加密速度快,但問題是:鑰匙怎麼安全地傳給對方?

聰明的做法是:兩種混著用

概念

用剛剛的比喻來解釋:

  1. 第一步:安全地交換鑰匙(用非對稱式)
  • 你朋友給你一個打開的鎖頭(公鑰)
  • 你自己做一把對稱式的鑰匙
  • 你把這把鑰匙放進箱子,用朋友的鎖頭鎖起來,寄給他
  • 朋友用他的私鑰打開箱子,拿到那把對稱式鑰匙
  1. 第二步:用對稱式鑰匙加密資料(速度快)
  • 現在你們兩個都有同一把對稱式鑰匙了
  • 之後所有的資料都用這把鑰匙加密、解密
  • 速度快,又安全
【第一步:交換鑰匙】
對稱式鑰匙 + 對方公鑰 ──→ 加密 ──→ 傳給對方
對方用私鑰解開 ──→ 拿到對稱式鑰匙

【第二步:傳輸資料】
資料 + 對稱式鑰匙 ──→ 加密/解密 ──→ 快速又安全

為什麼這樣最好?

  • 安全:鑰匙是用非對稱式傳的,就算被攔截也打不開
  • 快速:實際資料是用對稱式加密的,速度快

這就是現在大部分安全通訊的做法。

常見的混合式加密

SSL/TLS 就是最經典的混合式加密應用。

你有沒有注意過,有些網址是 http://,有些是 https://

那個 S 就是指 SSL(Secure),代表這個網站使用了加密來保護你的資料傳輸。

SSL/TLS 的運作方式就是:

  1. 先用非對稱式加密安全地交換一把對稱式鑰匙
  2. 之後所有資料都用對稱式加密來傳輸

類似的應用還有:

  • HTTPS:HTTP + SSL/TLS
  • SFTP:FTP + SSL/TLS
  • WSS:WebSocket + SSL/TLS
  • VPN:虛擬私人網路

只要看到後面有加 S 的,通常就是有用到 SSL/TLS 加密。

三種加密方式比較

對稱式加密1 把(雙方共用)
非對稱式加密2 把(公鑰 + 私鑰)
混合式加密兩種都用
對稱式加密
非對稱式加密
混合式加密快(資料用對稱式)
對稱式加密鑰匙外洩就完蛋
非對稱式加密公鑰外洩沒關係
混合式加密兼顧安全與效率
對稱式加密AES
非對稱式加密RSA
混合式加密SSL/TLS
對稱式加密檔案加密、資料庫加密
非對稱式加密數位簽章、SSH 金鑰
混合式加密HTTPS、VPN、WSS

重點整理

來複習一下這篇講的重點:

  1. 加密是雙向的,可以加密過去,也可以解密回來
  2. 加密需要鑰匙,這是它跟編碼最大的差別
  3. 對稱式加密:加密和解密用同一把鑰匙(例如 AES)
  4. 非對稱式加密:加密和解密用不同鑰匙,分成公鑰和私鑰(例如 RSA)
  5. 網址後面有 S 的(HTTPS、SFTP、WSS),通常就是有用到 SSL 加密

系列總結

到這邊,雜湊、編碼、加密這三個觀念就都講完了!

再幫大家複習一次:

方向單向
鑰匙不需要
用途驗證、密碼儲存
方向雙向
鑰匙不需要
用途格式轉換
方向雙向
鑰匙需要
用途保護資料

搞懂這三個的差別之後,後面在做密碼驗證、Token、JWT 這些東西的時候,就不會再搞混了!