PDA

View Full Version : سوال: خطای این برنامه در قسمت گرید



NeDa Gholami
سه شنبه 06 دی 1390, 13:18 عصر
من میخوام وقتی کاربر پسورد رو وارد کرد بصورت رمز شده ذخیره بشه تو بانک و تو گرید هم بصورت رمز هم بصورت معمولی پسورد رو ببینم.. این کدها رو نوشتم قسمت ذخیره در بانک بصورت رمز کار میکنه ولی نمایش تو گرید بصورت معمولی کار نمیکنه.... لطفا راهنماییم کنین


protected void Button1_Click(object sender, EventArgs e)
{
DataLayer.Users.InsertRow(txtuser.Text, EnryptString(txtpass.Text), txtEmail.Text);

}

public string EnryptString(string strEncrypted)
{
try
{
byte[] b = System.Text.ASCIIEncoding.ASCII.GetBytes(strEncryp ted);
string encryptedConnectionString = Convert.ToBase64String(b);
return encryptedConnectionString;
}
catch
{
throw;
}
}

public string DecryptString(string encrString)
{
try
{
byte[] b = Convert.FromBase64String(encrString);
string decryptedConnectionString = System.Text.ASCIIEncoding.ASCII.GetString(b);
return decryptedConnectionString;
}
catch
{
throw;
}
}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{

if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Text = DecryptString(e.Row.Cells[2].Text);
}

}

hamid_shrk
سه شنبه 06 دی 1390, 13:32 عصر
خوبه کدهاتون رو تو یکی از قالب ها بزارید تا بشه خوندش!!

NeDa Gholami
سه شنبه 06 دی 1390, 14:04 عصر
protected void Button1_Click(object sender, EventArgs e)
{
DataLayer.Users.InsertRow(txtuser.Text, EnryptString(txtpass.Text), txtEmail.Text);

}

public string EnryptString(string strEncrypted)
{
try
{
byte[] b = System.Text.ASCIIEncoding.ASCII.GetBytes(strEncryp ted);
string encryptedConnectionString = Convert.ToBase64String(b);
return encryptedConnectionString;
}
catch
{
throw;
}
}

public string DecryptString(string encrString)
{
try
{
byte[] b = Convert.FromBase64String(encrString);
string decryptedConnectionString = System.Text.ASCIIEncoding.ASCII.GetString(b);
return decryptedConnectionString;
}
catch
{
throw;
}
}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{

if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Text = DecryptString(e.Row.Cells[2].Text);
}

}

NeDa Gholami
سه شنبه 06 دی 1390, 14:05 عصر
protected void Button1_Click(object sender, EventArgs e)
{
DataLayer.Users.InsertRow(txtuser.Text, EnryptString(txtpass.Text), txtEmail.Text);

}

public string EnryptString(string strEncrypted)
{
try
{
byte[] b = System.Text.ASCIIEncoding.ASCII.GetBytes(strEncryp ted);
string encryptedConnectionString = Convert.ToBase64String(b);
return encryptedConnectionString;
}
catch
{
throw;
}
}

public string DecryptString(string encrString)
{
try
{
byte[] b = Convert.FromBase64String(encrString);
string decryptedConnectionString = System.Text.ASCIIEncoding.ASCII.GetString(b);
return decryptedConnectionString;
}
catch
{
throw;
}
}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{

if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Text = DecryptString(e.Row.Cells[2].Text);
}

}

NeDa Gholami
سه شنبه 06 دی 1390, 14:20 عصر
حل شد.. خطای خودم بود

rahmatr
سه شنبه 06 دی 1390, 14:38 عصر
من میخوام وقتی کاربر پسورد رو وارد کرد بصورت رمز شده ذخیره بشه تو بانک و تو گرید هم بصورت رمز هم بصورت معمولی پسورد رو ببینم

این کار درست نیست. پسورد باید به صورت hash شده در بانک ذخیره شود و نباید کسی بتواند آنرا به حالت اول برگرداند.
توی همین تالار جستجو کنید مطالب خیلی زیادی در مورد چگونگی ذخیره پسورد کاربران هست.