PDA

View Full Version : فرم گرفتن رمز عبور و کلمه عبور



hassan_123
سه شنبه 13 فروردین 1387, 09:17 صبح
با سلام
راستش می خواتم یک فرم برای گرفتن نام کاربر و رمز عبور قرار بدم این کاری که من کردم فقط با گرفتن کلمه هایی که من به صورت پیش فرض قرار دادم انجام میشه (user :1111 , pass :0000)می خواستم بپرسم جطوری میشه کلمه عبور و رمز عبور را آن چیزهای که در بانک ذخیره کردیم مطابقت بدیم و در صورت درست بودن اجازه ورود بدیم
PrivateSub Btn_Signin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Signin.Click
If (usernameTextbox.Text = "1111") And (passwordTextBox.Text = "0000") Then
Me.Hide
Form2.Show
EndSub

gdevnb
سه شنبه 13 فروردین 1387, 10:58 صبح
کلمه عبورتون رو هش کنید و در بانک قرار بدید بعد در فرم ورود مقدار ست شده توسط کاربر رو هم هش کنید با مقدار داخل بانک مقایسه کنید

علیرضا مداح
سه شنبه 13 فروردین 1387, 13:01 عصر
سلام ،
شما بهتر است ابتدا با مفاهیم Cryptography از جمله Encryption/Decryption , Hash , Symmetric/Asymmetric Encryption ....... و چگونگی Implement کردن آنها در دات نت آشنا شوید ، در ضمن پیشنهاد میکنم مقاله ی زیر را حتما" مطالعه نمایید :
http://www.codeproject.com/KB/recipes/StoringPasswords.aspx (http://</p><p>[URL)

khz-web1
سه شنبه 13 فروردین 1387, 15:44 عصر
فارسی یکی بیاد راهنمایی کنه...

gdevnb
سه شنبه 13 فروردین 1387, 21:33 عصر
فارسی یکی بیاد راهنمایی کنه...


دوست عزیز تو همین فروم جستجو کن فارسیشم پیدا میکنی

gdevnb
سه شنبه 13 فروردین 1387, 21:37 عصر
salted hash (http://barnamenevis.org/forum/showthread.php?t=14191)

mshakeri
چهارشنبه 14 فروردین 1387, 11:17 صبح
این سایت درست که انگلیسی اما مثال هایی زده که نیازی به بلد بودن انگلیسی نداره:
https://forums.microsoft.com/MSDN/ShowPo...0&SiteID=1

hassan_123
چهارشنبه 14 فروردین 1387, 12:53 عصر
آدرسی که گفتی انگاری اشتباه است

mshakeri
چهارشنبه 14 فروردین 1387, 16:26 عصر
ببخشید این
https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2830660&SiteID=1

ali_sa
پنج شنبه 15 فروردین 1387, 18:25 عصر
ببخشید،من یادم رفته بود فایل اکسس شو بزارم ، الان گذاشتم.تو درایو D کپی کنید.

saman_itc
جمعه 16 فروردین 1387, 14:19 عصر
با سلام خدمت دوستان
http://barnamenevis.org/forum/showthread.php?p=491415#post491415
یه برنامه دفتر چه تلفن کامل UPLOAD کردم
که توش خیلی واضح از فرم UserوPas استفاده شده دانلودش کن و حالشو ببر

morteza_261
جمعه 16 فروردین 1387, 16:18 عصر
با سلام و تبریک سال نو
یه کد برات گذاشتم امیدوارم که بدردت بخوره
وحالا مطنق کار:
1-ما توی بانکمون 3 تا فیلد داریم با عنوان های کد کاربری،نام کاربری و رمز عبور
2-در کد اولی وقتی کد کاربری رو میدیم و خونه مربوطه رو ترک میکنیم از صحت کد کاربری مطمئن میشیم.اگه این کد وجود داشت نام کاربری رو برای ما بر میگردونه و اگر وجود نداشت پیغام میده که همچین کدی نداریم.
3-در کد دومی کد رمز با نام کاربری تطبیق داده میشه و.......



PrivateSub TxtId_Leave(ByVal sender AsObject, ByVal e As System.EventArgs) Handles TxtId.Leave
If IsNumeric(TxtId.Text) Then
Try
PubSqlCom.CommandText = "SELECT UserName FROM TblLogIn where id=" & TxtId.Text
PubSqlCom.Connection = PubSqlCon
If PubSqlCon.State = ConnectionState.Closed Then PubSqlCon.Open()
PubSqlDR = PubSqlCom.ExecuteReader()
PubSqlDR.Read()
If PubSqlDR.HasRows Then
LblUserName.Text = PubSqlDR("UserName")
Else
MessageBox.Show("کد کاربری مورد نظر موجود نمی باشد", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button3, MessageBoxOptions.RightAlign)
TxtId.Text = ""
TxtId.Focus()
EndIf
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
Catch ex As SqlClient.SqlException
MsgBox(ex.Message & vbCrLf & "در ارتباط با بانک اطلاعاتی با مشکل مواجه هستید.")
Catch ex As Exception
MsgBox(ex.Message & vbCrLf & "خطا در اجرا")
Finally
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
EndTry
ElseIf Len(TxtId.Text) <> 0 Then
MessageBox.Show("لطفا عدد وارد نمایید.", "توجه", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button3, MessageBoxOptions.RightAlign)
TxtId.Text = ""
TxtId.Focus()
ExitSub
EndIf
EndSub



PrivateSub BtnLogIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogIn.Click
If TxtId.Text = ""Then
MessageBox.Show("لطفا کد کاربری را وارد نمایید.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
TxtId.Focus()
ExitSub
EndIf
PubSqlCom.CommandText = "SELECT UserName,Pass FROM TblLogIn where id=" & TxtId.Text
PubSqlCom.Connection = PubSqlCon
If PubSqlCon.State = ConnectionState.Closed Then PubSqlCon.Open()
PubSqlDR = PubSqlCom.ExecuteReader
PubSqlDR.Read()
If LblUserName.Text = PubSqlDR("UserName") And TxtPass.Text = PubSqlDR("Pass") Then
Me.Hide()
FrmMain.ShowDialog()
Me.Close()
Else
MessageBox.Show("رمز عبور وارد شده متعلق به کاربر فوق نیست", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign)
TxtId.Text = ""
TxtPass.Text = ""
LblUserName.Text = ""
TxtId.Focus()
EndIf
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
EndSub

hassan_123
جمعه 16 فروردین 1387, 18:53 عصر
با سلام و تشکر از شما من هر چی سعی میکنم اما نمی تونم این مشکل چک کردن یوزر رو حل کنم اینو بگم که من میخوام بایوزر و پسورد هایی که در بانک خودم ذخیره کردم مقایسه کنم و در صورت صحیح بودن اجازه ورود بدم.
(با تشکر از شما دوستان همچنان منتظر یاری سبزتان هستیم )

hassan_123
جمعه 16 فروردین 1387, 19:36 عصر
سلام به morteza_261 (http://barnamenevis.org/forum/member.php?u=44238)
با تشکر از کد شما اما میشه بگید که این کدی که من برای ادامه کد شما نوشتم کجاش اشتباه است
Dim PubSqlCom As SqlCommand
Dim PubSqlCon As SqlConnection
Dim PubSqlDR As SqlDataReader
کد بالا برای شناختن کد زیر است
PubSqlCom.CommandText = "SELECT UserName,Pass FROM TblLogIn where id=" & TxtId.Text
PubSqlCom.Connection = PubSqlCon
If PubSqlCon.State = ConnectionState.Closed Then PubSqlCon.Open()
PubSqlDR = PubSqlCom.ExecuteReader
PubSqlDR.Read()

saman_itc
جمعه 16 فروردین 1387, 23:57 عصر
من سورس اجرایی گذاشتم بدردت نخورد؟!!!!

morteza_261
یک شنبه 18 فروردین 1387, 19:47 عصر
با سلام مجدد
دوست گرامی کدها را به صورت زیر در بالای کدهای دیگر قرار بده

Dim PubSqlCom AsNew SqlClient.SqlCommand
Dim PubSqlCon AsNew SqlClient.SqlConnection
Dim PubSqlDR As SqlClient.SqlDataReader
PublicShared PubStrConString AsString = ("Data Source=" Server Name";Initial Catalog=Institute;Integrated Security=True")


لازم به ذکره که برای لود فرم کد زیر فراموش نشه(با توجه به کدی که من نوشتم):


PubSqlCon.ConnectionString = PubStrConString

hassan_123
شنبه 24 فروردین 1387, 21:35 عصر
سلام morteza_261 (http://barnamenevis.org/forum/member.php?u=44238)
کدهایی که در بالا گفته بودی در برنامه بکار بردم اما از رمز عبور اشکال میگریه این در صورتی است که رمز درست است ضمنا کد کاربری از نوع عدد است اما رمز عبور رو بیشتر از نوع رشته دادم اما حتی از نوع عدد هم بکار بردم باز هم اشکال میگیره (وقتی کد کاربری رو میدم و از text boxخارج میشم نام کاربری رو نشون میده اما از رمز اشکال میگیره )

art2000ir
یک شنبه 25 فروردین 1387, 08:52 صبح
شما اگر نخواهید از انکریپت استفاده کنید کار بسیار ساده ای هست
کد کار بر را بگیرید در بانک جستجو کنید اگر وجود نداشت که پیام میده کد کاربری وجود نداره
اگر وجود داشت که خوب رمزی که وارد شده را بارمز درون بانک مقایسه می کنید
اگر هم رمز را اشکال می گیرد شاید رمز عبور را فارسی انتخاب کردید ویا فاصله دارد و یا نسبت به حروف کوجک و بزرگ حساس است

hassan_123
یک شنبه 25 فروردین 1387, 23:33 عصر
سلام art2000ir
ببین من مشکلی که دارم اونم اینه که نمیدونم چطور رشته که در textbox وجود دارد اونم از نوع رشته (a,b,c,....)را با بانک مقایسه کنم ولی مقدار عددی(1و2و3و..) را که val بکار میبرم درست میشه اما رشته نمیشه همینطور در کدی که morteza_261 (http://barnamenevis.org/forum/member.php?u=44238)نوشته باز هم این مشکل هست در تاپیک 12 کدهای قسمت دوم که این کد نوشته است
If LblUserName.Text = PubSqlDR("UserName") And TxtPass.Text = PubSqlDR("Pass") Then
در این شرط ، شرط قبل از and اجرا میشه اما شرط قسمت دوم که And TxtPass.Text = PubSqlDR("Pass") این کد هست اجرا نمیشه

morteza_261
دوشنبه 26 فروردین 1387, 15:07 عصر
با سلام مجدد
میشه اون کدی رو که نوشتی برام بزاری
فعلا

reza6384
دوشنبه 26 فروردین 1387, 22:14 عصر
PrivateSub Btn_Signin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Signin.Click
If (usernameTextbox.Text = "1111") And (passwordTextBox.Text = "0000") Then
Me.Hide
Form2.Show
EndSub


سلام حسن جان ، لطفا کد ها رو بین تگ کد- Code Tag قرار بده. اینجوری اینقدر به هم ریختس که آدم اصلا دوست نداره بخونه.



PrivateSub Btn_Signin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Signin.Click
If (usernameTextbox.Text = "1111") And (passwordTextBox.Text = "0000") Then
Me.Hide
Form2.Show
EndSub

hassan_123
سه شنبه 27 فروردین 1387, 00:35 صبح
رضا جان سلام
از بابت کد متشکرم اما کد شما تنها نوشته های بین " " را مقایسه میکنه ولی من میخوام هر چیزی که در textbox نوشتم را با فیلدهای بانک sql مقایسه کنه مثلا اگر شما نوشتید حسن بگرده ببینه که اصلا همچین نامی وجود داره یا نه اما کد شما فقط اگه 1111 باشه اجازه می دهد
کدی که morteza_261 (http://barnamenevis.org/forum/member.php?u=44238)نوشت درست هست اما یه مشکل داره اونم چک کردن رمز عبوره اول کدش اینجوریه که میاد کد کاربر رو چک میکنه اگه درست بود نام کاربری رو در label نمایش میده اما وقتی پسورد را وارد میکنم اشکال میگیره یعنی نیمه اول شرط درسته اونم وقتی که میاد محتویات label رو مقایسه میکنه ضمنا اینو بگم که تا اونجا که من فهمیدم اون چیزهای که در labelقرار میگیره رو میتونه مقایسه کنه اما اون چیزهای که در text box وجود دراه رو نمیتونه به همین خاطر از pass اشکال میگیره یعنی اگه این pass رو مثل نام کاربر در label قرار بدم درست میشه اما اگه همون text رو مقایسه کنم نمیشه

hassan_123
سه شنبه 27 فروردین 1387, 22:58 عصر
morteza_261 (http://barnamenevis.org/forum/member.php?u=44238) سلام
همینطور که در بالا نوشتم اون کدت کامل است اما فقط در موقع چک کردن pass از pass اشکال میگیره

hassan_123
سه شنبه 27 فروردین 1387, 23:01 عصر
لطفا کمی منو راهنمایی کنین چون این موضوع دیگه پاک داره منو کفری میکنه آخه به هر دری که زدم نشد.
(با تشکر از همه دوستان )

art2000ir
چهارشنبه 28 فروردین 1387, 08:43 صبح
ds.Clear()
s1 = "provider=microsoft.jet.oledb.4.0;data source =" + Application.StartupPath + "\gldb.mdb; jet oledb:database password=;"
con = New OleDbConnection(s1)
con.Open()
s2 = "select * from ip where us=" & "'" + t1 + "'"
da = New OleDbDataAdapter(s2, con)
da.Fill(ds, "ip")
If ds.Tables("ip").Rows.Count = 0 Then
MsgBox("شناسه کاربری معتبر نمی باشد")
ExitSub
EndIf
nw = ds.Tables("ip").Rows.Item(0)
If t2 = nw.Item("ps") Then
MsgBox("ok")
b = True
Else
MsgBox("کلمه عبور معتبر نمی باشد")
EndIf

این کد را ببین
البته من این کد را در یک ماژول استفاده می کنم و هرجا نیاز به فرم کلمه عبور دارم کلم و رمز عبور را به این ماژول می فرستم و جوابش رو میگیرم
ip جدولی هست که کلمه عبور درش قرار داره همراه با رمز عبور
us فیلدی هست که کلمه عبور درش قرار داره
t1 این متفیر از فرم فرستاده میشه که کلمه عبور هست یا همان id
شما می توانید از تکس باکس استفاذه کنید

Dim con As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds AsNew DataSet
Dim s1, s2 AsString
Dim nw As DataRow
Dim e As pass

این ها هم تعاریف متغیرها هستش

art2000ir
چهارشنبه 28 فروردین 1387, 08:52 صبح
یادم رفت بگم
t2 رمز عبور هستش
ps نام فیلدی که رمز عبور درش قرار داره
در ضمن شما فیلد رمز رو از جه نوعی انتخاب کردید ؟؟؟
اگر nvarchar باشه نباید اشکالی پیدابشه

hassan_123
یک شنبه 01 اردیبهشت 1387, 23:27 عصر
با سلام به همه دوستان
راستش من هر چی سعی کردم نتونستم مشکلم رو حل کنم به همین خاطر سورس برنامه خودم رو براتون گذاشتم تا ببینید که اشکال من در کجا است که با وجود اینکه من پسورد رو درست میزنم باز هم از پسورد اشکال میگیره .
بانک برنامه sql 2000 و vb2005 نوشته شده
از اینکه برنامه از نظر امنیتی خیلی داغونه اونم به این خاطره که شما بتونین id , user , pass جدید وارد کنین راستی اینو هم بگم که من برنامه در درایو e:\tamrin بوده .
لطفا منو راهنمایی کنین (منتظرتون هستم ).

hassan_123
دوشنبه 02 اردیبهشت 1387, 19:04 عصر
سلام هنوز کسی نمیخواد منو راهنمائی کنه

hassan_123
جمعه 06 اردیبهشت 1387, 00:29 صبح
با سلام به همه دوستان این کد که در زیر قرار داره کدی هست که morteza_261 (http://barnamenevis.org/forum/member.php?u=44238) برام گذاشته بود که در صفحه 2 قرار داره اما این کد رو وقتی من بکار بردم اون خط از کد که به رنگ سبز کردم اشکال داره خواهشن راهنمائیم کنید.

PrivateSub BtnLogIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnLogIn.Click
If TxtId.Text = ""Then
MessageBox.Show("لطفا کد کاربری را وارد نمایید.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
TxtId.Focus()
ExitSub
EndIf
PubSqlCom.CommandText = "SELECT UserName,Pass FROM TblLogIn where id=" & TxtId.Text
PubSqlCom.Connection = PubSqlCon
If PubSqlCon.State = ConnectionState.Closed Then PubSqlCon.Open()
PubSqlDR = PubSqlCom.ExecuteReader
PubSqlDR.Read()
If LblUserName.Text = PubSqlDR("UserName") And TxtPass.Text = PubSqlDR("Pass") Then
Me.Hide()
FrmMain.ShowDialog()
Me.Close()
Else
MessageBox.Show("رمز عبور وارد شده متعلق به کاربر فوق نیست", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign)
TxtId.Text = ""
TxtPass.Text = ""
LblUserName.Text = ""
TxtId.Focus()
EndIf
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
EndSub

parsavb
جمعه 06 اردیبهشت 1387, 11:43 صبح
دوستان اگر مشکل این تاپیک حل نشده من می تونم راهنمائی کنم

hassan_123
جمعه 06 اردیبهشت 1387, 14:25 عصر
سلام پارسا هنوز مشکل حل نشده لطفا بگید چیکار کنم تا مشکل من حل بشه
ضمنا از vb2005 , sql200 استفاده میکنم .

hassan_123
جمعه 06 اردیبهشت 1387, 14:30 عصر
سلام پارسا اگه بگی چی کار کنم تا این مشکلم حل بشه لطف می کنی .

hassan_123
دوشنبه 09 اردیبهشت 1387, 23:44 عصر
سلام بچه ها
انگاری کسی نمیخواد به من کمک کنه تا من از دست این مشکل راحت بشم
باز هم از شما ها تشکر میکنم لطفا بگید من چیکار کنم .

morteza_261
چهارشنبه 11 اردیبهشت 1387, 09:34 صبح
با سلام مجدد
آقا مشکلتو پیدا کردم
کدایی که نوشتی مشکلی نداشت مشکل تو بانکت بود
اگه Data Type فیلد id از نوع int بزاری مشکلت حله

hassan_123
شنبه 14 اردیبهشت 1387, 01:17 صبح
مرتضی جون دمت گرم فعلا مشکلم در این مورد حل شد با وجود اینکه id رو از نوع nvarchar گذاشتم
یعنی در واقع اون کدی که داده بودی درست بود اما نمیدونم چرا قبلا هر کاری که میکردم نمی شد
باز هم متشکرم.