mysql - 像这样的密码 $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"
如果我需要提供更多详细信息,请告诉我。提前感谢您的任何帮助。
解决方案
由于在我不得不使用电子邮件服务器之前没有来自 stackoverflow 阅读器的响应,我将所有密码类型更改为 md5。md5 不是最好的解决方案,但根据 stackoverflow,它似乎是唯一的解决方案。
推荐阅读
- flutter - 颤动中的单选按钮列表
- python - django 1.8版'ForeignKey'对象没有属性
- python - tensorlfow gradient.tape 可以与占位符一起使用吗?
- powershell - 从运行 Invoke-Command for Test-NetConnection 的脚本输入信息时,Export-csv 未在文件中写入内容
- regex - 如何折叠标签之间的空格
- java - xsd 元素生成 jaxb
- python - 如何将外部设备输出绘制成图表?
- javascript - 从字符串中提取数字并将其分配给变量
- r - 填充条形图和密度曲线
- c++ - C++ 使用 jpg 编译可执行文件,然后将其设置为背景