David Taylor
9238767f7e
FEATURE: Persist password hashing algorithm/params in database ( #20980 )
...
Previously, Discourse's password hashing was hard-coded to a specific algorithm and parameters. Any changes to the algorithm or parameters would essentially invalidate all existing user passwords.
This commit introduces a new `password_algorithm` column on the `users` table. This persists the algorithm/parameters which were use to generate the hash for a given user. All existing rows in the users table are assumed to be using Discourse's current algorithm/parameters. With this data stored per-user in the database, we'll be able to keep existing passwords working while adjusting the algorithm/parameters for newly hashed passwords.
Passwords which were hashed with an old algorithm will be automatically re-hashed with the new algorithm when the user next logs in.
Values in the `password_algorithm` column are based on the PHC string format (https://github.com/P-H-C/phc-string-format/blob/master/phc-sf-spec.md ). Discourse's existing algorithm is described by the string `$pbkdf2-sha256$i=64000,l=32$`
To introduce a new algorithm and start using it, make sure it's implemented in the `PasswordHasher` library, then update `User::TARGET_PASSWORD_ALGORITHM`.
2023-04-11 10:16:28 +01:00
..
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-02-21 10:30:48 +01:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-04-03 11:46:39 +01:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-04-03 11:46:39 +01:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-04-05 07:28:56 +08:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-01-09 11:59:41 +00:00
2023-04-03 11:46:39 +01:00
2023-04-05 07:28:56 +08:00
2023-01-27 10:05:27 -08:00
2023-01-20 13:29:49 +11:00
2023-02-03 14:44:40 +11:00
2023-02-03 14:44:40 +11:00
2023-01-20 09:50:24 +08:00
2023-02-03 14:44:40 +11:00
2023-01-20 09:50:24 +08:00
2023-01-19 16:07:59 +00:00
2023-01-30 10:49:08 +02:00
2023-02-02 13:35:04 -03:00
2023-02-21 10:16:16 +08:00
2023-02-08 11:21:39 -08:00
2023-02-21 13:16:43 -05:00
2023-02-08 11:45:34 +11:00
2023-02-08 13:08:05 +11:00
2023-02-13 12:37:59 +08:00
2023-02-13 18:07:46 +10:00
2023-02-10 11:14:22 +11:00
2023-02-23 11:18:14 -08:00
2023-02-22 08:55:44 +11:00
2023-03-14 13:11:45 -05:00
2023-02-28 10:42:05 +08:00
2023-03-10 13:45:01 +08:00
2023-03-07 11:47:18 +11:00
2023-03-21 12:23:28 +11:00
2023-03-10 13:45:01 +08:00
2023-03-28 15:13:44 +11:00
2023-04-04 07:31:09 +08:00
2023-04-04 13:14:20 +01:00
2023-04-05 10:52:18 +10:00
2023-04-11 10:16:28 +01:00