Description
Is there an existing issue for this?
- I have searched the existing issues
Describe the bug
In .NET 7 @adityamandaleeka introduced breaking changes.
PasswordHasherCompatibilityMode.IdentityV3
logic was modified: algo changed to HMACSHA512
from HMACSHA256
, iterations count changed to 100k from 10k, etc.
We recently upgraded from .net 6 to .net 9 and some of our legacy systems (still under .net framework, not .net core) now fail to login after they login in .net core app under the same account.
If I understand correctly, this is due to the introduced mandatory rehashing of v3 (old) to v3 (new) password on login. Which completely broke auth logic for .net framework (not .net core) clients as they under v3 compatibility expect previous values.
Please fix this because people still have great deal of legacy .NET Framework code.
From what I understand (most likely incorrect) this should never happened and instead of changes of v3 logic, PasswordHasherCompatibilityMode.IdentityV4
should have been introduced. Because — duh :) — that was the purpose of different compatibility modes in the first place.
Expected Behavior
Log in under .net 7+ and IdentityV3 compatibility shouldn’t rehash passwords from sha256 and 10k to sha512 and 100k iterations. For that new compatibility level v4 should be introduced.
Steps To Reproduce
No response
Exceptions (if any)
No response
.NET Version
.net7+
Anything else?
No response