Как создать зашифрованный пароль MD5 в MySQL? - PullRequest
0 голосов
/ 21 апреля 2011

Мне нужно сгенерировать пароль 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?

1 Ответ

4 голосов
/ 21 апреля 2011

Вы можете сделать это в 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
...