其實你現在打開 Google 搜尋 Hashing vs Encryption
你會得到比這篇文章更詳細的解釋
這篇文章會以爬蟲當切入點,加入一點我個人的看法去解釋囉
有個重點我得先說,很多人會搞混雜湊跟加密
但是雜湊是雜湊,加密是加密,兩者是不同的演算法
最直覺來說像 MD5 這種複雜度極高的演算法是不可逆的
除非你使用暴力破解 MD5,那另當別論
暴力終究是暴力,MD5 原先的設計本來就是不可逆
有興趣了解暴力破解 MD5 可以搜尋 : Rainbow Table Attack
加密就不一樣了,加密是可以逆向的
或者說加密本身就對應到解密這個行為
也就是說,同時都知道演算法的情況,加密可逆,雜湊不可逆
雜湊通常會用在檢查用途,而且資料不需要可逆這個屬性
我曾經聽過有網站後台資料庫存放的不是使用者真正的密碼,而是密碼的雜湊值
假設我今天的密碼是 password,POST 給伺服器
伺服器其實是尋找有沒有對應到 5f4dcc3b5aa765d61d8327deb882cf99 的字串
(password 用 MD5 算過的值)
加密的話 ... 對就是加密,它的用途就如其名
基本上每一個人都有機會在 POST 表單使用到它
我想用途應該就是檢查資料或加密資料
總之因為各種原因,POST 的時候可能就是要你提交它
有一個非常大的重點 !
你可以完全不懂 MD5 或 base64 怎麼實作,但是你要會操作對應的函式
還有一定要對 MD5 或 base64 加密過後的資料有一定的敏感度
這兩者是我根據經驗,爬蟲中最常遇到的演算法了
看到以後能馬上猜到是哪種雜湊或加密格式,會對你 POST 更順利
總結,知道一下就好