The only thing that might help you is to create temporary salt for each session, then, encrypt the password on client side, then, decrypting the password using same salt that saved in server-side, the approach is like a unique token that used for preventing CRSF because even man-in-the-middle captured the password s/he cant decrypt it.
Finally, you need to create another (different algorithm) for saving the password on database, the conceptual idea above is for securing password between client-and-server.
explanation:
Client -> Request -> Server
Server -> Response (sending unique salt o be used with JavaScript like session_id()) ->
client
Client -> JavaScript Execution -> Encrypting Password using unique salt
Client -> POST -> server
Server -> decrypting the password with saved salt -> extract the password
I hope some one to correct me if above idea is wrong!
NOTE:
AES can be used for both JS and PHP
Salt = Key
Available Tools:
AES Advanced Encryption Standard
jsaes: AES in JavaScript
PHP AES DEC/ENC
phpAES