First you need to know the type of Hashes you are using.
Because there are single-handed and double-handed Hashes, if it is one-way, you can not decrypt the password:
Single-hand: In this case your system needs to generate a new temporary password, and send this new password to the client with the link for it to reset this password.
Double-hand: In this case your system can search the user's email for the password and send it to his email, but it is not a good practice.
UNIQUE HAND CRIPTOGRAPHS IN PHP
MD5
<?php
$string = 'O rato reu a ropa do rei de Roma';
$codificada = md5($string);
echo "Resultado da codificação usando md5: " . $codificada;
// 54cf74d1acdb4037ab956c269b63c8ac
?>
SHA1
<?php
$string = 'O rato reu a ropa do rei de Roma';
$codificada = sha1($string);
echo "Resultado da codificação usando sha1: " . $codificada;
// b186b709f7cf5a1d98d413379a66e511df8d59a4
?>
DUAL HAND CRIPTOGRAPHS IN PHP
BASE64
<?php
$string = 'O rato reu a ropa do rei de Roma';
$codificada = base64_encode($string);
echo "Resultado da codificação usando base64: " . $codificada;
// TyByYXRvIHJldSBhIHJvcGEgZG8gcmVpIGRlIFJvbWE=
$original = base64_decode($codificada);
echo "Resultado da decodificação usando base64: " . $original;
// O rato reu a ropa do rei de Roma
// Note que $original vai ser idêntica a $string
?>
Following is a link explaining a little more about the types of encryption in PHP
link