parkers,
As siberian said more information would help.
How you define passwords can make a big difference. If you mean passwords that are stored in /etc/shadow (or equiv) on unix machines, generally you have no choice as the passwords are generally encrypted via crypt. That means everything that relies on a password (i.e. login, su, passwd, etc.) will not work if you muck with them outside of using crypt.
Now on the other hand if you are writing your own password protected system, then I'd use Crypt::MD5. MD5 checksums would server the same purpose and don't have the 8 character limit that crypt does. Many newer version of unices have the ability to authenticate via MD5 checksums eiher with PAM or LDAP.
Hope that helps.