Well I had a similar request, and what I accomplished was store the password using 64-byte field then I generated a 32-byte salt and 32-byte hash, then extracted salt from DB and encoded the same username using that salt and if the resultant object is equal to the one in DB
This is the Method I used
public static bool IsPasswordValid(string plainPassword, byte[] data) { var prf = KeyDerivationPrf.HMACSHA512; var saltBytes = new byte[saltSize]; var hashBytes = new byte[hashSize]; Array.Copy(data, 0, saltBytes, 0, saltSize); Array.Copy(data, saltSize, hashBytes, 0, hashSize); var verificationHashBytes = KeyDerivation.Pbkdf2(plainPassword, saltBytes, prf, iterationCount, hashSize); return hashBytes.SequenceEqual(verificationHashBytes); }
Membership.ValidateUser] msdn.microsoft.com/en-us/library/…