【问题标题】:How to generate MD5 encrypted password in MySQL?如何在 MySQL 中生成 MD5 加密密码?
【发布时间】:2011-08-09 19:37:51
【问题描述】:

我需要从提供的信息中生成 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 中自己完成?

【问题讨论】:

    标签: mysql linux bash scripting passwords


    【解决方案1】:

    您可以在 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
    

    【讨论】:

      猜你喜欢
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多