請問是資料表已經有資料了,並且要將 password 欄位的值都改成 md5 嗎?
如果是這樣的話...直接下語法應該就可以了...
UPDATE 資料表 SET password=MD5(password) WHERE 1;
txreformer提到:
在下想要把其中一個資料表中的password一欄的值
全部MD5
你是想要把Password加密嗎?
為的是不是不想直接從資料庫看出Password?
如果是這個目的,MD5並不適合用來加密,因為他不是加密演算。
MD5是雜湊演算法之一,取MD5後的值是固定長度,32位數(16進位表示),
而且取出來的值是不可逆的,也就是說你無法從MD5反算出你原來的資訊。
通常MD5是被拿來做驗證用途,如數位簽章,訊息摘要等
目的是要確認某一個數位媒體或檔案在傳輸或儲存過程中有無被竄改。
MD5簡介:http://zh.wikipedia.org/zh-tw/MD5
MySQL有個不可逆的加密函數,叫做PASSWORD....
直接用
PASSWORD('你的密碼')
就可以把密碼加密成固定長度的字串了。
MySQL 4.1版以前的PASSWORD,會加密字串成一個16 bytes的字串;4.1版之後,則是41 bytes
不推薦使用MD5的原因是...MD5已經被破解,可以偽造...XDD安全性上比較不理想。
可以參考以下這篇文章:
http://bojack.pixnet.net/blog/post/11990831
你仔細看一下,blackjack提到的是一個駭客工具網站,裡面有md5 hash前後的對照,這不是即時算出來的,而是利用計算結果累積出來的,用這種方法,不論你用的是md5, sha-1甚至sha-256都沒用,只要查表查得到就能破,跟使用哪個hash方法沒直接關係。我也可以自己建一些資源來累積sha的密碼資源阿,先用字典hash出常用的密碼對照,然後再用brute慢慢累積,並且歡迎駭客貢獻密碼對照等等。在這樣的威脅下,唯一可靠的只有密碼複雜度跟長度。
不過目前用md5的人比較多,sha反而少吧?這樣至少駭客投入資源較少的話,也許威脅會少一點。
其實現在什麼都不安全了...
許多人都有建立資料庫
可以反查
還是直接回答好了...
我是要做批次建立帳號的
我用的是xoops
所以密碼必須是MD5加密過後的才行
這樣的話,其實在insert的時候配合md5就好了不是嗎?如果你用csv格式做批次匯入,程式要剖析應該沒什麼困難。如果要用mysql client匯入,你可以先用程式把csv剖析處理成sql,也不困難阿。如果你使用linux,那可以考慮用awk或sed來處理。