我需要从提供的信息生成MD5密码。以下是我的MySQL数据库表;
sN | firstN | lastN | countryN | dob | emailID | joinD | uID | passwd |
------------------------------------------------------------------------------------------------------
1 | Roger | Federer | German | 1981-08-08 | rfederer@gmail.com | 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中自行完成?
答案 0 :(得分: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