我曾经能够通过两次通过 sha1 运行我的密码来创建与 MySQL 兼容的密码,但似乎这在 MySQL 8 中不起作用。
MySQL 现在似乎使用这些密码插件。因此,语法是(在 JS 中):
const createUserSql = `CREATE USER ${db.escapeValue(agency.login)} IDENTIFIED WITH mysql_native_password BY ${db.escapeValue(passwordHash)};`;
我想在 Node.js 中创建适用于 MySQL 的密码。我知道我可以只使用纯文本密码并让 MySQL 对其进行哈希处理,但我将此 SQL 打印到终端并且我不希望密码可见,所以我想对它们进行预哈希处理。
什么算法适用于 MySQL 8?我愿意使用任何内置的密码插件。
sha256_password听起来不错,但我不认为它是一个直接的 sha256 哈希,听起来它内置了一个盐,所以我不确定如何在 Node.js 中创建一个。
MySQLPASSWORD()
功能也消失了。我真的不想对SELECT PASSWORD(:plainTextPass)
我的密码进行哈希处理,但现在这甚至不是一个选择。