C'est probablement à cause du type de champ de votre mot de passe. Votre champ de mot de passe est-il VARCHAR
? Combien de temps dure-t-il ? Il me semble que SHA
génère une chaîne plus longue que ce qui est autorisé par le champ afin qu'elle soit coupée lorsqu'elle est stockée et qu'elle corresponde lorsque vous la régénérez pour vérifier.
Documentation MySQL
dit que vous avez besoin de 40 caractères pour stocker la sortie de SHA
.