我有这个运行良好的 ASP.NET 应用程序。现在我需要从 Windows 窗体应用程序将用户添加到 ASP.NET 成员资格数据库。我已经能够在 Windows 窗体应用程序中成功使用 Membership 类,但是添加用户需要很长时间,而且我必须添加大量用户。
因此,我一直在尝试将这些用户直接添加到数据库中,但无法正确获取密码散列。
这是我用来生成散列密码的代码:
public static string EncodePassword2(string pass, out string saltb64)
{
saltb64 = Crypto.GenerateSalt();
byte[] bytes = Encoding.Unicode.GetBytes(pass);
byte[] src = Convert.FromBase64String(saltb64);
byte[] dst = new byte[src.Length + bytes.Length];
Buffer.BlockCopy(src, 0, dst, 0, src.Length);
Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length);
HashAlgorithm algorithm = HashAlgorithm.Create("HMACSHA256");
byte[] inArray = algorithm.ComputeHash(dst);
return Convert.ToBase64String(inArray);
}
有谁知道如何以正确的方式做到这一点?