I have one of my own design where this problem is solved by just having a &quot;version&quot; field in the hashed data.  Bump it and the password changes, and you still have the ability to retrieve old passwords.  I have been waiting for one of the good ones to incorporate this idea so I don&#x27;t have to finish mine.  ;)<p>Edit: and I might as well mention my other feature that I haven&#x27;t seen elsewhere, which is that the hashed data isn&#x27;t used as the password directly, but rather is input to a transformation function which can take into consideration different password rules for different sites.  This way if a site has a dumb rule like no exclamation points or an 8 character limit, I can still use my generator to manage the passwords, just with a lame final transform that limits the password space in the appropriate way.