ASP.NET Членство C # - Как сравнить существующий пароль / хэш

Я был над этой проблемой некоторое время. Мне нужно сравнить пароль, который пользователь вводит с паролем, который находится в базе данных членства. Пароль хешируется и имеет соль. Из-за отсутствия документации я не знаю, будет ли соль добавлена ​​к паролю, а затем хешируется, как она создается.

Я не могу заставить это соответствовать. Хеш, возвращаемый функцией, никогда не совпадает с хешем в БД, и я точно знаю, что это тот же пароль. Microsoft, кажется, хеширует пароль иначе, чем я.

Я надеюсь, у кого-то есть идеи, пожалуйста.

Вот мой код:

 protected void Button1_Click(object sender, EventArgs e)
    {   
        //HERE IS THE PASSWORD I USE, SAME ONE IS HASHED IN THE DB
        string pwd = "Letmein44";
       //HERE IS THE SALT FROM THE DB
        string saltVar = "SuY4cf8wJXJAVEr3xjz4Dg==";
        //HERE IS THE PASSWORD THE WAY IT STORED IN THE DB AS HASH
        string bdPwd = "mPrDArrWt1+tybrjA0OZuEG1P5w=";
    // FOR COMPARISON I DISPLAY IT
        TextBox1.Text = bdPwd;
        // HERE IS WHERE I DISPLAY THE return from THE FUNCTION, IT SHOULD MATCH THE PASSWORD FROM THE DB.
        TextBox2.Text = getHashedPassUsingUserIdAsSalt(pwd, saltVar);

    }
private string getHashedPassUsingUserIdAsSalt(string vPass, string vSalt)
    {
        string vSourceText = vPass + vSalt;          
        System.Text.UnicodeEncoding vUe = new System.Text.UnicodeEncoding();
        byte[] vSourceBytes = vUe.GetBytes(vSourceText);            
        System.Security.Cryptography.SHA1CryptoServiceProvider vSHA = new System.Security.Cryptography.SHA1CryptoServiceProvider();
        byte[] vHashBytes = vSHA.ComputeHash(vSourceBytes);            
        return Convert.ToBase64String(vHashBytes);
    }

Ответы на вопрос(2)

Ваш ответ на вопрос