الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تشفير كلمة المرور

مغلق
بدأه omar_sabha في 3 فبراير 2007 · 5 رد · 880 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هل من الممكن تزويدنا بمثال لتشفير كلمة المرور في ال DB ومن ثم عند تسجيل الدخول ان يقارن كلمة المرور المخزنه وهي طبعا مشفره ويقارنها مع كلمة المرور المدخله في التكست والتي ستشفر ايضا

ولكم جزيل الشكر

#2

عزيزي omar_sabha ابشر

هذا مثال بسيط عملته فأحد برامجي الي بعتها :D

الفكرة هي تحويل النص المدخل إلى المقابل لها بي Ascii code ثم زيادة قيم ال Ascii اونقصانها بعدد معين ثم عرض القيمة المشفرة .. فكرة بسيطة :

لتجربة المثال استدعي الدالة الاولى Encryptions وضع قيمة التكست كبراميتر للدالة ثم إعرض العائد من الدالة :

	Public Function Encryptions(ByVal Unencryptions As String) As String
		''
		Encryptions = ""
		''
		Dim i As Integer
		Dim Up_Dw As Boolean = True
		For i = 0 To Unencryptions.Length - 1
			''
			Encryptions &= GetAsciiString(Unencryptions.Chars(i), Up_Dw)
			''
			If Up_Dw Then
				Up_Dw = False
			Else
				Up_Dw = True
			End If
			''
		Next
		''
		Return Encryptions
		''
	End Function

	Private Function GetAsciiString(ByVal SingleChar As Char, ByVal UporDw As Boolean) As String
		''
		GetAsciiString = ""
		Dim Num As Integer = Char.ConvertToUtf32(SingleChar, 0)
		''
		If UporDw Then
			'' Adding  +
			GetAsciiString = Char.ConvertFromUtf32(Num + 9)
			GetAsciiString = GetAsciiString & Char.ConvertFromUtf32(Num + 6)
			GetAsciiString = GetAsciiString & Char.ConvertFromUtf32(Num + 3)
		Else
			''  Minase  -
			GetAsciiString = Char.ConvertFromUtf32(Num - 3)
			GetAsciiString = GetAsciiString & Char.ConvertFromUtf32(Num - 6)
			GetAsciiString = GetAsciiString & Char.ConvertFromUtf32(Num - 9)
		End If
		''
		Return GetAsciiString
		''
	End Function

عند تسجيل دخول المستخدم يتم استدعاء الدالة لتشفير القيمة المدخلة ثم عمل مقارنة بين نتيجة القيمة المشفرة و قاعدة البيانات ... وهكذا

ارجو ان يكون المثال واضح

طريقة حماية الصفحة بالصورة العشاوائية Captcha

/index.php?showtopic=117870

#3

ممكن استخدام Hashing وهي الطريقة المعروفة في التشفير وفي نوعين من الهاش متوفرة في الفريم وورك MD5, SHA1 وهي بتعطيك 16 بت فقط للتشفير وهناك تشفير أقوى بيعطيك 64 أو 128 بت وطبعا هذي راح تدفع عليها :wacko:

مثال للتشفير :

 Public Function getHashPassword(ByVal password As String) As String
		password = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password, "SHA1")
		getHashPassword = password
End Function

ووللاستخدام فقط اعمل كول للدالة كالتالي :

 dim hashPass as string=getHashPassword(txtPass.Text)

أما للمقارنة عند الدخول فلازم في الأول تعمل للباسوورد المدخل من المستخدم hashing بنفس الطريقة السابقة ثم تقارنه بالباسوورد المحفوظ في قاعدة البيانات

#4

اخي Scoool شكراً على المعلومة

طبعاً طريقتي الي قلت " فين إذنك يا جحا " :lol:

هل تشفير MD5 او SHA1 ثننائي الاتجاه ؟ يعني هل يوجد دالة تعيد القيمة المشفرة إلى أصلها .

انا اتوقع لا يمكن بس حابب اتأكد ;)

طريقة حماية الصفحة بالصورة العشاوائية Captcha

/index.php?showtopic=117870

#5
اقتباس
هل تشفير MD5 او SHA1 ثننائي الاتجاه ؟

من المفترض لا.

لكن كان هناك محاولات ناجحة في الحصول على نص صريح من hash MD5

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#6
Xacker كتب:
من المفترض لا.

أكيد لأ والا ايش فائدة الحماية security

هذا الموضوع مغلق.

مواضيع مشابهة