像这样的密码$ 5 $ rounds = 5000 $ / mLhDmcPo

时间:2019-07-06 20:22:35

标签: mysql passwords command-line-interface

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

我有一个Linux Shell脚本,该脚本使用md5生成密码。 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"

让我知道是否需要提供更多详细信息。预先感谢您的协助。

1 个答案:

答案 0 :(得分:0)

由于在我必须上线电子邮件服务器之前,stackoverflow阅读器没有响应,因此我将所有密码类型更改为md5。 md5不是最好的解决方案,但是根据stackoverflow看来,它是唯一的解决方案。