Dunque avevo fatto un bel sw, poi ho voluto migliorarlo e ovviamente non funziona più

Dunque io salvo le mie pass sul db crittografandole così:
Codice PHP:
$password sha1($str); 
Durante il login ne verifico la correttezza così:
Codice PHP:
if (strcmp($row['password'], $password) == 0) ... 
---

Generando automaticamente le password ho notato che password di 5-6 caratteri funzionano, mentre quelle più lunghe no, come mai?
Ho tolto i caratteri speciali come ! _ ecc... per escludere loro colpe al momento ho pass alfanumeriche.

Grazie
Sonia