Вероятно се дължи на типа на полето за парола. Вашето поле за парола е VARCHAR
? Колко е дълго? Струва ми се, че SHA
генерира низ, по-дълъг, отколкото е разрешен от полето, така че се прекъсва, когато се съхранява, и съвпада, когато го регенерирате, за да проверите.
Документация за MySQL
казва, че имате нужда от 40 знака, за да съхраните изхода на SHA
.