Hash password field to database, unhash in admin?

By definition, hashing is one-way ecnryption, so it can not be reversed (maybe some super hacker can do it, but it should be very difficult or almost imposible to do). It is not a bug, problem or somehting like that, It is the intended behaviour and it how every site should work.

Many people use same password across several services, so no one, including the site owner, should be able to know a user’s password. Imaging that the site is hacked, if the passwords can be reversed, the hacker could have access to all passwords, and potentially not only for your site. Or simply a site owner could use the user’s password to access user’s account in other sites.

So, if you hash a password with wp_hash_password(), or any other hashgin method, and you can not decrypt it, it is exactly like it is designed.

You may be interested in encryption instead of hashing, a method that can be reversed only if the rules applied to do the encryption are known, usually by using secret keys. You can do it in PHP, for example, with mcrypt_encrypt()/mcrypt_decrypt(). But it is not safe for users, because the site owner can know his/her password; use it if you need to keep confidentiality but not integrity.

Or you may be interested in encoding, but encoding is just plain text in another format that a human may not read directly, but just because it is not used to it, not because it is secure or encrypted in some way, that is why it can easily decoded by converting back to the original format (that is, you get zero security).

Some ready to use encoding methods in PHP: