>데이터 베이스 >MySQL 튜토리얼 >비밀번호 인증을 위해 MySQL 8.0에서 PASSWORD 기능을 대체하는 방법은 무엇입니까?

비밀번호 인증을 위해 MySQL 8.0에서 PASSWORD 기능을 대체하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-29 04:04:02762검색

How to Replace the PASSWORD Function in MySQL 8.0 for Password Authentication?

MySQL Server 8.0의 PASSWORD 기능

MySQL Server 버전 8.0에서 PASSWORD 기능은 이전 버전과 다르게 동작합니다. 이로 인해 질문에 표시된 대로 함수를 사용할 때 오류가 발생할 수 있습니다.

"오류 코드: 1064. SQL 구문에 오류가 있습니다."라는 오류는 MySQL 서버가 SQL 구문에 대해 다른 구문을 예상하고 있음을 나타냅니다. 비밀번호 기능. 이전 버전의 MySQL에서는 PASSWORD 함수를 사용하여 이전 비밀번호 해싱 알고리즘을 사용하여 비밀번호를 암호화했습니다. 그러나 MySQL 8.0에서는 이 알고리즘이 더 이상 사용되지 않으며 보다 안전한 알고리즘으로 대체되었습니다.

이 문제를 해결하기 위해 질문에서는 SHA1 및 CONCAT 함수를 사용하여 PASSWORD 기능을 대체하는 솔루션을 제공합니다. 대답은 대안으로 다음 쿼리를 사용하는 것을 제안합니다.

<code class="SQL">SELECT CONCAT('*', UPPER(SHA1(UNHEX(SHA1('mypass')))))</code>

이 쿼리는 별표(*)를 입력 비밀번호('mypass')의 SHA1 해시에 대한 SHA1 해시의 대문자 16진수 표현과 연결합니다. . 결과는 이전 MySQL 버전의 PASSWORD 함수 출력과 유사하므로 인증 목적에 적합한 대체 기능이 됩니다.

위 내용은 비밀번호 인증을 위해 MySQL 8.0에서 PASSWORD 기능을 대체하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.