I'm getting the feeling that there's some kind of miscommunication here.
If only the password is used to generate the hash then that password, when used to match against a previously stored hash(cache key here), will also match it, thus producing the exact same vulnerability, but worse because it's enough to have the same password as someone else.
Salting does not help here at all.