【发布时间】:2019-07-06 20:22:35
【问题描述】:
如何在 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
这里是sn-p的代码: 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"
如果我需要提供更多详细信息,请告诉我。提前感谢您的任何帮助。
【问题讨论】:
-
请说明密码计算规则
标签: mysql passwords command-line-interface