A co takhle?
md5(hmac_md5(password, challenge))
.hmac_md5(password, old_challenge)
a md5(hmac_md5(password, new_challenge))
md5(old_hmac)
souhlasí s tím, co je uloženo v databázi, a pokud ano, přepíše se to novými hodnotami.Autorem této myšlenky je Paul Jonhston. Přikládám Proof of Concept.