Updated password reset functionality

I think it's not safe to use raw username as a cache key (especially when using file cache) and it's also can be insecure if cache folder is not under protection from listing (because somebody may access password in cache if he knows username or/and email).