I'll be encrypting a password with the encryption method and no it does not need to be reversable.

I think the best thing to do is to store a hash of some sort against data I'll be encrypting (data being a password). The only problem I can see with doing that is that someone could decompile my program and get the key that I'm using to create the hash, but is there really any other way?