The best practices for passwords are to use a slow Key Derivation Function (e.g. PBKDF2, bcrypt or scrypt) and to have a separate salt for each password.
None of these appear to be provided by the advapi32 crypt functions, although PBKDF2 is provided in .NET by the Rfc2898DeriveBytes class.
Does anyone know of a trustworthy C DLL that provides one of those Key Derivation Functions? I could use Rfc2898DeriveBytes, but using .NET for this seems like overkill and I'd prefer scrypt over PBKDF2.