Probabilmente è a causa del tipo di campo della tua password. Il campo della tua password è VARCHAR
? Quanto tempo è? Mi sembra che SHA
sta generando una stringa più lunga di quella consentita dal campo, quindi viene interrotta quando viene archiviata e corrisponde quando la rigeneri per verificare.
Documentazione MySQL
dice che sono necessari 40 caratteri per memorizzare l'output di SHA
.