Maison  >  Article  >  base de données  >  Comment remplacer la fonction PASSWORD dans MySQL 8.0 pour l'authentification par mot de passe ?

Comment remplacer la fonction PASSWORD dans MySQL 8.0 pour l'authentification par mot de passe ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-29 04:04:02670parcourir

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

La fonction PASSWORD dans MySQL Server 8.0

Dans MySQL Server version 8.0, la fonction PASSWORD se comporte différemment des versions précédentes. Cela peut entraîner des erreurs lors de l'utilisation de la fonction, comme indiqué dans la question.

L'erreur "Code d'erreur : 1064. Vous avez une erreur dans votre syntaxe SQL" indique que le serveur MySQL attend une syntaxe différente pour la fonction MOT DE PASSE. Dans les versions précédentes de MySQL, la fonction PASSWORD était utilisée pour chiffrer un mot de passe à l'aide de l'ancien algorithme de hachage de mot de passe. Cependant, dans MySQL 8.0, cet algorithme a été obsolète et remplacé par un algorithme plus sécurisé.

Pour résoudre ce problème, la question propose une solution qui implique l'utilisation des fonctions SHA1 et CONCAT pour remplacer la fonction PASSWORD. La réponse suggère d'utiliser la requête suivante comme alternative :

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

Cette requête concatène un astérisque (*) avec la représentation hexadécimale majuscule du hachage SHA1 du hachage SHA1 du mot de passe d'entrée (« mypass ») . Le résultat est similaire au résultat de la fonction PASSWORD dans les versions précédentes de MySQL, ce qui en fait un remplacement approprié à des fins d'authentification.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn