4 ms·
> I thought the standard way of migrating your PW hashing function was that you could only do it during a login, because that's the only time you have the PW in
by msbarnett 11y ago
> I thought the standard way of migrating your PW hashing function was that you could only do it during a login, because that's the only time you have the PW in plain text. No?
No. Well, I mean, it's common to do that, but it's a bad idea and it's not necessary to keep all of those vulnerable hashes around.
Say you have a bunch of MD5 password hashes stored, and you want to upgrade your password hashing to BCrypt. Don't wait for the user to login and rehash their plain text password.
Instead, Bcrypt all the MD5s. The authentication mechanism is now BCrypt(MD5(plaintext)) == stored_bcrypt. Upgrade them to straight bcrypt on login.
- mentat 11y agoThat doesn't really have the same security properties as the original login information.
- ajross 11y agoNo, but it's resistant to parallel cracking, which is the hole being plugged.
- msbarnett 11y ago> That doesn't really have the same security properties as the original login information. Well, obviously. For instance, it lacks the property of being trivially vulnerable to a GPU hashing the entire dictionary with a given salt in 30 seconds flat.