Olly is right.. You're mixing up hashing and encryption.
@OP: Hashing is where you just apply an algorithm to the blocks of data
without a key or anything special. Once done, it's irreversible to some extent. Usually hashes can be broken using a rainbow table or look up table but sometimes the time complexity can be extremely large (taking forever to reverse). Some hashes have loop holes such that it can be broken in a shorter amount of time.
Encryption: You take the blocks of data and apply an algorithm to it
using a special key/pass-phrase. The algorithm is always reversible given that you have the correct key/pass-phrase. Some algorithms have loop holes where you can crack it and figure out the original block of data OR the key/pass-phrase. This is called single key encryption.
There is also public and private key encryption (double key encryption) aka Alice and Bob:
http://en.wikipedia.org/wiki/Alice_and_Bob Simba doesn't support this kind.
Simba has both hashes and single key encryption algorithms:
Your algorithm is a bit naive. Many before you have done the same thing.. It's easy to break and in an extremely short amount of time compared to recognised algorithms.
Simba's RC2 may not be strong, but it's stronger than yours by quite a lot. You also won't need a lot of code and you can apply whatever hash you want as well. You're better off applying the same concept of your algorithm to Simba's but there's not really a need.
Also, the only way to have cryptographically strong passwords is to never store them at all. Usually a developer only stores the salted hashed version of the password and username. Then when you log in, it applies the same algorithm to your credentials and compares that to the salt. This way, if the database gets compromised, the password isn't stored in reversible text. You'll NEVER be able to do this for RS because the password is required to log in via Script.