MySQL Server 8.0 中的 PASSWORD 函數
在 MySQL Server 8.0 版本中,PASSWORD 函數的行為與先前的版本不同。這可能會導致使用該函數時出現錯誤,如問題所示。
錯誤「錯誤代碼:1064。您的 SQL 語法有錯誤」表示 MySQL 伺服器正在等待不同的語法密碼功能。在先前版本的 MySQL 中,PASSWORD 函數用於使用舊的密碼雜湊演算法來加密密碼。然而,在 MySQL 8.0 中,該演算法已被棄用,並被更安全的演算法取代。
為了解決這個問題,該問題提供了一種解決方案,涉及使用 SHA1 和 CONCAT 函數來取代 PASSWORD 函數。答案建議使用以下查詢作為替代方案:
<code class="SQL">SELECT CONCAT('*', UPPER(SHA1(UNHEX(SHA1('mypass')))))</code>
此查詢將星號(*) 與輸入密碼('mypass') 的SHA1 哈希值的SHA1 哈希值的大寫十六進制表示形式連接起來。結果類似於先前 MySQL 版本中 PASSWORD 函數的輸出,使其適合用於身份驗證目的的替代。
以上是如何替換MySQL 8.0中的PASSWORD函數進行密碼驗證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!