首页 > 解决方案 > 像这样的密码 $5$rounds=5000$/mLhDmcPo

问题描述

如何在mysql中创建一个看起来像这样的密码 $5$rounds=5000$/mLhDmcPoT3lHt4T$IIHC08bghQ0me8m.kMFxOMxfz/g1CW1TglF3WE9zVpA ?

我有一个使用 md5 生成密码的 linux shell 脚本。md5 函数位于更新 mysql 数据库的 mysql 语句中。我现在需要生成 dovecot 2.2.27 (c0f36b0) 可以验证的密码。该脚本要求输入用户名,然后使用新密码更新数据库。Dovecot 使用该数据库验证 pop3 和 imap 访问。我尝试用 sha2 替换 md5 函数,它确实会生成密码并更新数据库,但插入的密码不包含 $5$rounds 业务。

这是鸽舍配置数据:

default_pass_scheme = SHA256-CRYPT

这是代码片段: modPass () {

    echo ""
    echo "Modifying email ${EMAIL}."
    getInput "Enter new password: " pw
    NEWPASS="${ANSWER}"
    DOMAINID=`${DBCON} "SELECT id FROM ${DATABASE}.virtual_users WHERE email = '${EMAIL}';"`
    ${DBCON} "USE ${DATABASE}; UPDATE virtual_users SET password = SHA2('${NEWPASS}', 256) WHERE virtual_users.id = '${DOMAINID}';"
    echo ""
    echo "Password for account ${EMAIL} modified"

如果我需要提供更多详细信息,请告诉我。提前感谢您的任何帮助。

标签: mysqlpasswordscommand-line-interface

解决方案


由于在我不得不使用电子邮件服务器之前没有来自 stackoverflow 阅读器的响应,我将所有密码类型更改为 md5。md5 不是最好的解决方案,但根据 stackoverflow,它似乎是唯一的解决方案。


推荐阅读