[程式設計] 更安全的密碼保存管理方法

Alex Xu 在影片中的第一個方法將現有使用者密碼經過 Hash 建立不可逆的代碼(稱為加密摘要),存入使用者資料中。當程式需要比對使用者輸入的密碼是否正確,需要將密碼 Hash,再與資料庫中的加密摘要比對。在此情況下,達成不以明碼儲存使用者密碼。

我曾負責以 PHP 與 CodeIgniter 開發一套系統,其中使用者帳號模組就是使用這個方式管理密碼。

但是第二個方法:將現有使用者密碼加上隨機建立的 salt,再經過 Hash,同時將 salt 以明碼,與加密摘要同時存入使用者資料中。可以避免駭客經由 Rainbow Table 藉由比對加密摘要找出原始密碼的攻擊方式。

後者能更進一步增加密碼安全性,可以用在新的專案上!

我將電腦方面的心得記錄並分享在 Amigo's Technical Notes
amigotechnotes
在設計系統的角度,我們會朝一次登入 single sign-on 的方向前進,但還是要管理好個人密碼(不一定是軟體,也可能用 USB Key 與 Smart Card 的方式呈現)。
我覺得單一登人反而是現在最大的問題,把密碼"認證(寫在)"在提款卡上,下次就不用輸入密碼囉
有沒有好安全
amigotechnotes
最早與理想的方式就是僅使用 SmartCard,輸入密碼是法遵確認行為是自然人與避免遺失風險,其實沒有必要。目前的硬體 USB 密碼鑰匙也是避免輸入密碼,頂多加上靜脈或指紋辨識
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!