The requirements for good passwords are simple. The challenge starts with keeping track of passwords, as the best effort, use for each website, application or system a different password. Another alternative is to use a single password, which is well protected, and generate for each website, application or system a salted hash password.
In cryptography, a salt is random data that is used as an additional input to a one-way function that hashes a password or passphrase. The primary function of salts is to defend against dictionary attacks versus a list of password hashes and against pre-computed rainbow table attacks. (Wikipedia)
The University of Stanford provides such a password hasher. Stanford PwdHash allows to generate passwords online or integrated in Mozilla Firefox or Google Chrome. Additionally you can vary for each generation the algorithm.