作者jlovet (Want 2 see u no more)
看板Database
標題Re: [系統] 想改變密碼加密方式,但舊資料如何保留?
時間Mon Feb 23 20:49:43 2009
※ 引述《eliang ()》之銘言:
: 假設我有一個資料表存有一些使用者資料,
: 當初只用 MySQL 內建的 PASSWORD() 加密使用者的密碼,
: 現在為了提高安全性,
: 我想改用更複雜的加密演算法,
: 所以全部使用者的密碼勢必要用新方法重新加密,
: 不過 PASSWORD() 好像是不可逆的,
: 除了讓使用者重設密碼之外, 好像就沒其他辦法了,
: 請問有人想得到其他的解決方法嗎?
: 謝謝!
應該是不用全部清掉重改吧...
像是linux PAM也可以選用MD5,BlowFish或Crypt來加密密碼
改了PAM設定之後, shadow檔案裡面的密碼,有的會是Crypt,有的會是md5...
你要做的只是
只要新增一個,假設,md5的欄位
有人登入的時候,驗證他的crypt密碼(舊版的),對了,就把這串字換成md5加密寫回去
(寫到新的欄位)
等全部的人都登入過,就可以把舊的那個欄位丟掉了
甚至你程式寫的好的話,就把舊的蓋掉就好了吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.102.254
推 SansWord:增加一個欄位預設0, 順利轉成md5就改成1 然後驗證密碼時 02/24 07:42
推 SansWord:先看這個欄位的值再去對照~ 02/24 07:57
推 tactical:新手提問,這就跟每月換新密碼的方式一樣嗎? 02/24 09:38
推 eliang:之前都沒想到,謝謝! 02/24 14:06