Det er sandsynligvis på grund af din kodeordsfelttype. Er dit kodeordsfelt VARCHAR
? Hvor lang er den? Det forekommer mig, at SHA
genererer en streng længere end den er tilladt af feltet, så den bliver afskåret, når den gemmes, og den matcher, når du genskaber den for at kontrollere.
MySQL-dokumentation
siger, at du skal bruge 40 tegn for at gemme output fra SHA
.