Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我看到 MySQL 5.5 允许使用 SHA-2() 来设置密码,并且直接 MD5 哈希是不安全的,不应再使用(默认 PASSWORD 函数同上)。
在我高兴地更新并更改一堆密码之前,MySQL 如何知道使用哪种算法来检查我提供的密码?它是否神奇地知道用于加密用户密码的算法,还是我们在 conf 文件中指定了这一点?
更新:我用一个新帐户进行了测试,看看会发生什么。使用 PASSWORD('mypass') 有效,但应用 SHA1('mypass') 会导致该帐户无法登录。
可能是由存储在表中的哈希长度决定的。MD5 哈希为 128 位,SHA1 哈希为 160 位,SHA2 哈希至少为 224 位。