看板 PHP 關於我們 聯絡資訊
抱著對MD5應用的一些疑惑去Google了一下 看到一篇 應用一:儲存密碼 這是 MD5 最常被使用的用途。 首先,我們將新使用者所輸入的密碼字串內容 (術語稱為明碼,也就是編碼前的密碼), 傳給 MD5 演算函數算出暗碼 (編碼後的密碼), 之後我們將該暗碼,連同使用者 ID 及其他資料一併存入資料庫中。 例如使用者帳號為 rock ,密碼為 iloverock, 儲存在資料庫中的帳號資料格式及內容如下: rock:85782f5e159d638811a7a8a7fa318754 第二個欄位儲存的,就是暗碼。 稍後,當使用者欲再簽入時, 先以使用者 ID 為鍵值, 自資料庫中讀取帳號資料, 再將使用者輸入的明碼, 同樣地傳給 MD5 演算函數得出一結果, 將此結果與帳號資料中的暗碼比對是否完全相符。 ------------------------------------------------------------- 我的問題是 這樣做和直接將明碼存在DB 再拿輸入的明碼去跟DB比對有什麼不同 畢竟比對這種事 應該是寫在php裡面 使用者應該看不到才對 為何要多此一舉呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.55.25 ※ 編輯: kencool107 來自: 60.251.55.25 (06/14 10:11)
CaptainH:1. 避免 web admin 監守自盜 06/14 10:22
LPH66:當資料庫內容外洩時 在當中看到明碼是件糟糕透頂的事 06/14 10:23
CaptainH:2. 即使資料庫外流, 密碼也不會外洩 06/14 10:23
所以主要是對資料庫的內容做保護囉 學習了 ※ 編輯: kencool107 來自: 60.251.55.25 (06/14 10:27)
gname:缺點是密碼忘了就取不回來了... 06/14 11:00
arrack:正常的md5 通常還是取得回來 06/14 11:03
arrack:尤其是那種用單字當密碼的 06/14 11:05
MD5不是不可逆的嗎??除非用非常手段? 這讓我想到昨天我要上1111人力銀行的時候 密碼忘記了 然後輸入一些資料 它就把原本的密碼寄給我了(不是亂數生成的) 這說明了 他密碼是用明碼的方式存在資料庫嗎 還是有其他種做法 ※ 編輯: kencool107 來自: 60.251.55.25 (06/14 11:08) ※ 編輯: kencool107 來自: 60.251.55.25 (06/14 11:11)
arrack:是單向沒錯,但當你知道XXXX加密後=YYYY 這種單向就可以破 06/14 11:23
arrack:有現成的表可以查 06/14 11:26
twsphere:這樣多人使用怎可能都用單字.我猜是明碼吧..(轉頭) 06/14 11:27
arrack:1111那種當然是明碼,104、露天好像也是 06/14 11:30
twsphere:。。剛剛測試=.=硍真的是明碼.想申請刪除資料了 06/14 11:32
arrack:所以密碼最好每個網站都不同(認真) 06/14 11:34
kerash:GOOGLE 我的密碼沒加密 , 會知道某些站都是plaintext 06/14 12:00
twsphere:推上來那個 好網站 不錯 06/14 15:04