現在私は少しプロジェクトを行っていますが、ユーザー登録パスワードフィールドはデータベースで暗号化されているため、md5アルゴリズムも使用してユーザーを認証する必要があります(暗号化されていない)正しいパスワードを入力するために入力しますが、後で私は入力したパスワードを理解しました。システムはデータベースで一致しなくてもそれを受け入れます。ASP.NETはmd5を使用してユーザーを認証します
私を助けることができますか?ここに私のコードは次のとおりです。
protected void btnSubmit_Click(object sender, EventArgs e)
{
string pAssword = txtPassword.Text;
MD5CryptoServiceProvider encryptor = new MD5CryptoServiceProvider();
byte[] encryptedValue;
UTF8Encoding encoder = new UTF8Encoding();
encryptedValue = encryptor.ComputeHash(encoder.GetBytes(pAssword));
DataSet ds = new DataSet();
ds = (startWebService.getAllUsers());
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dRow in ds.Tables[0].Rows)
{
string userName = dRow["UserName"].ToString();
string passWord = dRow["Password"].ToString();
string acctNo = dRow["AccountNumber"].ToString();
if (userName == txtUsername.Text.ToString() && acctNo == txtAcctNo.Text.ToString() && passWord == encryptedValue.ToString())
{
FormsAuthentication.RedirectFromLoginPage(txtUsername.Text.ToString(), false);
lblError.Text = "You got it!";
Response.Redirect("MyAccount.aspx");
}
else
{
this.lblError.ForeColor = System.Drawing.Color.Red;
this.lblError.Text = "Either you have been type an incorrect network credentials or you have reached the maximum login attempts for your account.Please try again or contact the system administrator.";
startWebService.updateFailedLogin(txtAcctNo.Text.ToString(), txtUsername.Text.ToString());
}
}
}
}
私のWebサービス:
private DataSet GetDataSet(string strSPROC)
{
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = strSPROC;
conn.Open();
SqlDataAdapter myDataAdapter = new SqlDataAdapter();
myDataAdapter.SelectCommand = cmd;
DataSet dsMT = new DataSet();
myDataAdapter.Fill(dsMT);
return dsMT;
conn.Close();
}
[WebMethod]
public DataSet getAllUsers()
{
return GetDataSet("ELMS_ALLINTERNETUSERS");
}
私は、システムの意志はI型例えば暗号化されたテキストの正しい同等のものを受け入れるような方法でこれを修正するために、私を助けてください:spain = wdhs3x9029しかし、私はフィリピンを入力しようとしましたが、それも受け入れます。
このメソッド/クラスが推奨されていないことを示すFormsAuthentication.HashPasswordForStoringInConfigFileメソッドを使用すると、VS 2012から警告メッセージが表示されます。 –