【发布时间】:2020-05-29 13:46:09
【问题描述】:
我的老板希望我为我们的开发人员编写一个脚本来运行,该脚本将在他们的开发版本上创建一个新的数据库用户。他不希望我在代码中有实际密码;只有哈希。我有哈希密码,但是当我尝试使用该哈希密码创建用户时;它只是再次对哈希密码进行哈希处理。
CREATE USER 'test_user1'@'localhost' IDENTIFIED BY 'password';
显示哈希密码是“*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19”
但如果我尝试...
CREATE USER 'test_user2'@'localhost' IDENTIFIED BY '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19';
“密码”实际上不是我的 test_user2 密码。
我也尝试了以下UPDATE,但“密码”仍然不适用于 test-user2:
UPDATE `mysql`.`user` SET `authentication_string` = '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' WHERE (`Host` = 'localhost') and (`User` = 'test_user2');
既然我已经知道散列值,如何防止它对我输入的值进行散列?
我还在测试中为两个用户运行了GRANT SELECT。
【问题讨论】:
标签: mysql password-hash