PDA

View Full Version : سوال: ذخیره کردن پسورد



Mafia_ir
جمعه 07 بهمن 1390, 09:17 صبح
سلام بچه ها !
من میخواستم یک پروژه درست کنم که کاربر ها بتونن با یوزر و پسورد های خودشون وارد بشن .

پس باید بتونم یوزر های جدید با پسوردشون رو ذخیره کنم ... به نظر شما از چه راهی میتونم استفاده کنم ؟( یعنی بعدا خود استفاده کننده ها بتونن کابر جدید تعریف کنن )

shadi khanum
جمعه 07 بهمن 1390, 10:58 صبح
سوالت رو واضحتر بپرس دوست عزیز ولی چیزی که مه فهمیدم، باید یه منویی چیز تو برنامت بذاری به عنوان تعریف کاربر جدید.. اونجا دو تا textbox بذار که یکی نام کاربری و یکی کلمه رمز رو بگیره.. به دکمه هم بذار..تو کلیک دکمه چک کن اگه نام کاربری که زده قبلا کسی نداشته واسش تو جدول کاربرانت یه ردیف جدید insert کن ..
ضمنا پسورد رو هم بصورت hash شده تو دیتابیس ذخیره کن
موفق باشی

programerinfonet
جمعه 07 بهمن 1390, 11:02 صبح
دوست عزیز تو قسمت ورود به برنامه ات تعریف کن که اگه نام کاربری و کلمه ی عبور برای مدیر بود امکان تعریف و حذف کاربر وجود داشته باشه
و برای ورود چند کاربر از دیتابیس استفاده کن در کل با استفاده از بانک تقریبأ برای انجام همه جور عملیات دستت بازه

باز هم گاه توضیح بیشتر خواستی بگو تا بگم عزیز

ali_habibi1384
جمعه 07 بهمن 1390, 11:13 صبح
سوالت تكراريه.1-2 روز پيش اين سوال تكرار شده بود.
بايد از يك جدول براي ذخيره يوزرها استفاده كني.
اين تاپيك (http://barnamenevis.org/showthread.php?325039-%D9%81%D8%B1%D9%85-%D8%AA%D8%BA%D9%8A%D9%8A%D8%B1-%D8%B1%D9%85%D8%B2-change-password)رو ببين توضيحاتش كامله

Mafia_ir
جمعه 07 بهمن 1390, 13:18 عصر
خوب من با کپی برداری از کدی که ali_habibi1384 آقا دادن اینو نوشتم .


private void Gobtn_Click(object sender, EventArgs e)
{
if (Passwordtxt.Text.Length < 4)
{
MessageBox.Show("Warrning ! your password must be more than 4 characters .", "Error"
, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}

if (UserNametxt.Text.Length == 0)
{
MessageBox.Show("Warrning ! your must enter your username .", "Error"
, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}

SqlConnection SqlConnectionClass = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Users.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

SqlConnectionClass.Open();

SqlDataAdapter SqlDataAdapterClass = new SqlDataAdapter("select * from User where UserName='" + UserNametxt.Text + "'", SqlConnectionClass);

DataSet DataSetClass = new DataSet("User");

SqlDataAdapterClass.Fill(DataSetClass, "User");

if (UserNametxt.Text == DataSetClass.Tables[0].Rows[0][0].ToString())
{
if (Passwordtxt.Text == DataSetClass.Tables[0].Rows[0][1].ToString())
{
MessageBox.Show("Dear " + UserNametxt.Text + ", \\p thanks for loging in .", "Inforation"
, MessageBoxButtons.OK, MessageBoxIcon.Information);
SqlConnectionClass.Close();
return;
}

else
{
MessageBox.Show("Dear " + UserNametxt.Text + ", \\p Your password is incorrect .", "Inforation"
, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}

else
{
MessageBox.Show("We Dont have this user in this data bank.", "Inforation"
, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}


این مشکلش چیه ?

قضیه hash چیه ؟ :لبخند: توضیح میدید؟ اگر منظور رمز نگاریه نیازی به استفاده نیست چون امنیت مهم نیست .

ali_habibi1384
جمعه 07 بهمن 1390, 13:36 عصر
خوب من با کپی برداری از کدی که ali_habibi1384 آقا دادن اینو نوشتم .


private void Gobtn_Click(object sender, EventArgs e)
{
if (Passwordtxt.Text.Length < 4)
{
MessageBox.Show("Warrning ! your password must be more than 4 characters .", "Error"
, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}

if (UserNametxt.Text.Length == 0)
{
MessageBox.Show("Warrning ! your must enter your username .", "Error"
, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}

SqlConnection SqlConnectionClass = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Users.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

SqlConnectionClass.Open();

SqlDataAdapter SqlDataAdapterClass = new SqlDataAdapter("select * from User where UserName='" + UserNametxt.Text + "'", SqlConnectionClass);

DataSet DataSetClass = new DataSet("User");

SqlDataAdapterClass.Fill(DataSetClass, "User");

if (UserNametxt.Text == DataSetClass.Tables[0].Rows[0][0].ToString())
{
if (Passwordtxt.Text == DataSetClass.Tables[0].Rows[0][1].ToString())
{
MessageBox.Show("Dear " + UserNametxt.Text + ", \\p thanks for loging in .", "Inforation"
, MessageBoxButtons.OK, MessageBoxIcon.Information);
SqlConnectionClass.Close();
return;
}

else
{
MessageBox.Show("Dear " + UserNametxt.Text + ", \\p Your password is incorrect .", "Inforation"
, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}

else
{
MessageBox.Show("We Dont have this user in this data bank.", "Inforation"
, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}


این مشکلش چیه ?

قضیه hash چیه ؟ :لبخند: توضیح میدید؟ اگر منظور رمز نگاریه نیازی به استفاده نیست چون امنیت مهم نیست .

قضيه Hash الگوريتميه كه رشته يا اعداد مورن نياز رو كد و دي كد ميكونه.يكسري الگوريتمهاي پيشنهادي براي اين كار وجود داره همينطور خودت ميتوني اين الگوريتمها رو با فكر خودت تغيير يا توليد كني.حالا اينكه گفتي مشكلش چيه منظورت چي بود؟ منظورت كه خطا داره ؟ كار نميكنه؟

Mafia_ir
جمعه 07 بهمن 1390, 13:54 عصر
قضيه Hash الگوريتميه كه رشته يا اعداد مورن نياز رو كد و دي كد ميكونه.يكسري الگوريتمهاي پيشنهادي براي اين كار وجود داره همينطور خودت ميتوني اين الگوريتمها رو با فكر خودت تغيير يا توليد كني.حالا اينكه گفتي مشكلش چيه منظورت چي بود؟ منظورت كه خطا داره ؟ كار نميكنه؟

بله منظورم همون بود !

اینم برای ایجاد یوزر جدیده که هر دوشون رو فعلا در SqlDataAdapterClass.Fill ارور دارن .



private void Createbtn_Click(object sender, EventArgs e)
{
if (UserNametxt.TextLength == 0 || Passwordtxt.TextLength < 4)
{
MessageBox.Show("You must enter your username or password with more than 4 characters"
, "Error", MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}

SqlConnection SqlConnectionClass = new SqlConnection(@"Data Source=.\SQLEXPRESS;"
+@"AttachDbFilename=|DataDirectory|\Users.mdf;Integra ted Security=True;Connect Timeout=30;User Instance=True");

SqlConnectionClass.Open();

SqlDataAdapter SqlDataAdapterClass = new SqlDataAdapter("Select * FROM User", SqlConnectionClass);
SqlCommandBuilder SqlCommandBuilderClass = new SqlCommandBuilder(SqlDataAdapterClass);
DataTable DataTableClass = new DataTable();

SqlDataAdapterClass.Fill(DataTableClass);

DataRow DataRowClass = DataTableClass.NewRow();

DataRowClass[0] = UserNametxt.Text;
DataRowClass[1] = Passwordtxt.Text;

DataTableClass.Rows.Add(DataRowClass);
SqlDataAdapterClass.Update(DataTableClass);
SqlConnectionClass.Close();

MessageBox.Show("Thank you ! your user name with name " + UserNametxt.Text + "Created !", "Information"
, MessageBoxButtons.OK, MessageBoxIcon.Information);
}

ali_habibi1384
جمعه 07 بهمن 1390, 15:23 عصر
سورس كد و ديتابيستون رو بذاريد تا مشخص بشه خطا از كجاست.

Mafia_ir
جمعه 07 بهمن 1390, 18:58 عصر
این فقط یک تسته ، اگر کار کرد روی پروژه اصلی پیادش میکنم .

http://www.mediafire.com/?2qi97usz61wy2or

Mafia_ir
شنبه 08 بهمن 1390, 20:53 عصر
پس چی شد آقا علی (ali_habibi1384) ؟

ali_habibi1384
شنبه 08 بهمن 1390, 22:48 عصر
ببخشيد تاپيكتونو نديده بودم.
اينا كه اون چيزاي نيست كه من گفته بودم! شما كار خودتو كردي! معلوم نيست چه كدي نوشتي.
درضمن ديتا بيسي هم كه گذاشتي اصلا توش تيبلي نبود كه من بتونم اجراش كنم... خيلي بهم ريخته بود پروژت من نتونستم ازش سر دربيارم ...