2011-04-20 83 views
0

我需要從提供的信息生成MD5密碼。以下是我的MySQL數據庫表;如何在MySQL中生成MD5加密密碼?

sN | firstN | lastN | countryN | dob  | emailID   | joinD  | uID  | passwd | 
------------------------------------------------------------------------------------------------------ 
1 | Roger | Federer | German | 1981-08-08 | [email protected] | 2009-12-23 |40345689 | ???????? | 
    |  |   |   |   |     |   |   |   | 

生成的密碼應該是這樣的:

<first two characters from lastN> + <dob month> + <dob day> + <last two digit from uID> + "=$" 

在這種情況下;

Password : "Fe080889=$" 
Encrypted Password : "d76c30608603f7bf0a07abb03c6a631f" 

請有人幫我這個。我如何使用bash腳本來完成它,或者有什麼方法可以在MySQL中自行完成它?

回答

4

您可以在MySQL中執行此操作(具體取決於您的版本)。它內置的加密/校驗功能:

http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_md5

只需使用的字符串和日期的解析函數的組合來連接你需要的字段的作品,並通過MD5()傳遞字符串。

大致爲:

SELECT MD5(CONCAT(LEFT(lastN, 2), MONTH(dob), DAY(dob), RIGHT(CAST(uID, CHAR), 2), '=$')) 
FROM Table