We are migrating our user authentication from the provided .NET implementation to our own system.
We'd like to be able to support old passwords that exists in the aspNet_Membership table.
The Password and Salt reside in that table, so theoretically we could recompute the hash that the SqlMembershipProivder is using.
However, I can't seem to find anything describing the algorithm that is being used. Inpsecting the Membership provider tells me it is using HMACSHA256 to compute the hashes.
However, the stored password hashes are 20 bytes long, telling me they must do more than simply compute the sha256 hash of the password and salt.
Could the Membership Provider be lying? Is it using SHA1 or RIPEMD under the covers?
Alternatively, if I could just get access to the encryption provider they are using, I could just pass the old password and salt into it... I don't necessarily need to reinvent the wheel.