تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تحويل كود php الى vb
#2
.....

منقول مع تعديل بسيط ليناسب طلبك

ملاحظات:
1- يجب حفظ كل من قيمتي salt وsalted_password في قاعدة البيانات في جدول المستخدم (قد يقوم البعض بحفظ salt في
مكان آخر مع الإشارة إلى رقم العضو لزيادة صعوب التتبع).
2-ولمعرفة التطابق (كتسجيل الدخول مثلا) ترسل password المدخلة مع قيمة salt المحفوظة في قاعدة البيانات إلى الدالة salt_password
ومن ثم تطابق القيمة المعادة من الدالة salt_password مع قيمة salted_password المحفوظة في قاعدة البيانات.
3- المفروض أن تكون طريقة salting password غير معروفة بشكل سهل من أجل عدم محاولة فكها.

كود :
' ضع 3 أدوات TextBox
' TextBox1 : Password
' TextBox2: Salt
' TextBox3: Salted password


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim md5pass As String = MD5(Me.TextBox1.Text)

    Dim salt As String = generate_salt()

    Dim salted_password As String = salt_password(md5pass, salt)

    Me.TextBox2.Text = salt
    Me.TextBox3.Text = salted_password

End Sub


Private Function salt_password(ByVal password As String, ByVal salt As String) As String
    Return MD5(MD5(salt) & password)
End Function


Private Function generate_salt() As String
    Return random_str(8)
End Function


Private Function random_str(Optional ByVal size = 8) As String
    Dim salt As String = String.Empty

    Dim characterList As String = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqWrRsStTuUvVwWxXyYzZ123456789"
    Dim rnd As New Random
    For i = 0 To size - 1
        salt &= characterList(rnd.Next(0, (Len(characterList) - 1)))
    Next

    Return salt
End Function


Public Function MD5(ByVal txt As String) As String
    Dim result As String = String.Empty

    Dim objMd5 As New System.Security.Cryptography.MD5CryptoServiceProvider()
    Dim byts() As Byte = System.Text.Encoding.UTF8.GetBytes(txt)
    byts = objMd5.ComputeHash(byts)

    For Each b As Byte In byts
        result &= b.ToString("x2")
    Next

    Return result
End Function


لتجربة صحة كلمة المرور إضغط على Button1 ثم اترك بيانات TextBox2 وTextBox3 التي تحتوي على salt وsalted_password كما هي
وحاول تغيير كلمة المرور في TextBox1 والذي يحتوي password ثم اضغط Button2 الموجود في الكود التالي:
كود :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

    Dim md5pass As String = MD5(Me.TextBox1.Text)
    Dim salt As String = Me.TextBox2.Text

    Dim salted_password As String = salt_password(md5pass, salt)

    If salted_password = Me.TextBox3.Text Then
        MsgBox("كلمة المرور صحيحة")
    Else
        MsgBox("عفواً... كلمة المرور غير صحيحة")
    End If

End Sub

.....
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
تحويل كود php الى vb - بواسطة سعود - 25-09-14, 12:31 AM
RE: تحويل كود php الى vb - بواسطة vbnet - 25-09-14, 07:47 AM
RE: تحويل كود php الى vb - بواسطة سعود - 26-09-14, 03:55 AM
RE: تحويل كود php الى vb - بواسطة سعود - 26-09-14, 04:11 AM
RE: تحويل كود php الى vb - بواسطة سعود - 26-09-14, 04:21 AM
RE: تحويل كود php الى vb - بواسطة vbnet - 26-09-14, 05:26 AM
RE: تحويل كود php الى vb - بواسطة سعود - 26-09-14, 06:51 AM
RE: تحويل كود php الى vb - بواسطة سعود - 26-09-14, 06:57 AM
RE: تحويل كود php الى vb - بواسطة vbnet - 26-09-14, 07:30 AM
RE: تحويل كود php الى vb - بواسطة سعود - 26-09-14, 04:03 PM
RE: تحويل كود php الى vb - بواسطة vbnet - 26-09-14, 06:14 PM
RE: تحويل كود php الى vb - بواسطة سعود - 26-09-14, 07:01 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] الرجاء المساعدة فى تحويل قالب Html الى WP ابراهيم حورس 1 1,829 17-07-16, 02:36 AM
آخر رد: ابراهيم حورس

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم