三分鐘讀懂 Encode 編碼、Encrypt 加密、Hash 雜湊

Encode、Encrypt、Hash 的差別

Encode 編碼Encrypt 加密Hash 雜湊
簡單定義原本的資料用不同的詮釋方式產生新的資料利用金鑰來保護資料 將資料用公式算出一個無法反推回原本資料的結果
是否能還原資料?知道編碼方式即可還原資料知道加密方式
+ 取得金鑰即可還原資料
無法還原資料
舉例摩斯密碼
網址編碼
Base64
AES(對稱加密)
RSA(非對稱加密)
md5
SHA1
SHA256
Encode、Encrypt、Hash 對照表

密碼要怎麼保存

如果今天在資料庫要保存一個密碼:

  1. 將密碼編碼後保存:被駭客知道編碼方式,就能還原成原本密碼。
  2. 將密碼加密後保存:被駭客取得金鑰以及加密方式,就能還原成原本密碼。
  3. 將密碼雜湊後保存:網路上有人用字典搭配各種雜湊演算法計算過後產生對照表,如果使用者用的密碼是人可閱讀的、常見密碼,就可以從對照表反查出原本密碼。

你可以制定密碼規則,強迫使用者建立比較難想到的密碼(比如要有大小寫、特殊符號、數字),這樣的密碼就比較不會從對照表被反查出來,但會造成使用者要建立自己也記不太住的密碼。

另外一種方式,就是使用者可以建立他們記得住的密碼,然後系統會在密碼後方加上由系統產生的特殊字串(就是所謂的 Salt),達到不造成使用者困擾,又能建立少見密碼的效果。

結論:

將密碼加鹽,雜湊後保存。

0 則回應: