我的老板希望我为我们的开发人员编写一个脚本,用于在他们的dev构建中创建新的数据库用户。他不想让我在代码中使用实际密码,只想要使用哈希值。虽然我有哈希后的密码,但是当我尝试使用哈希后的密码创建用户时,它只是再次对已经哈希过的密码进行了哈希。
但是如果我尝试以下操作...
我还尝试了以下更新代码,但“password”仍不能用于test_user2:
我还为我的测试运行了
CREATE USER 'test_user1'@'localhost' IDENTIFIED BY 'password';
上面的代码显示哈希后的密码为“*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19”。但是如果我尝试以下操作...
CREATE USER 'test_user2'@'localhost' IDENTIFIED BY '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19';
“password”实际上不是我为test_user2设置的密码。我还尝试了以下更新代码,但“password”仍不能用于test_user2:
UPDATE `mysql`.`user` SET `authentication_string` = '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' WHERE (`Host` = 'localhost') and (`User` = 'test_user2');
我应该如何防止它对我输入的值进行哈希,因为我已经知道了哈希值?我还为我的测试运行了
GRANT SELECT
代码,用于两个用户。
AS
而不是BY
。如果你使用BY
,它仍然会进行哈希;如果你使用AS
,它将使用你的哈希值。谢谢! - Sherri Ross