تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كود حفظ النص مشفر في قاعدة البينات
#1
السلام عليكم ورحمة الله وبركاتة ...
كل الموضوع إنى ...
محتاج لكود حفظ النص مشفر في قاعدة البينات
مستخدم فجوال بيسك 2010 وsql server
....ارجو المساعده حتي تعم الفائده ...
الرد }}}
تم الشكر بواسطة:
#2
سلام


هذا الرابط فيه التشفير وفك التشفير
https://msdn.microsoft.com/en-us/library/ms172831.aspx
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

   Dim s As String = "الطالب"

   Dim es As String = EncryptData(s)
   MsgBox(es)

   Dim ds As String = DecryptData(es)
   MsgBox(ds)

End Sub

#Region " Encrypting and Decrypting "
'https://msdn.microsoft.com/en-us/library/ms172831(v=vs.100).aspx

Private TripleDes As New Security.Cryptography.TripleDESCryptoServiceProvider

Public Function EncryptData(ByVal plaintext As String) As String

   ' Convert the plaintext string to a byte array.
   Dim plaintextBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(plaintext)

   ' Create the stream.
   Dim ms As New System.IO.MemoryStream
   ' Create the encoder to write to the stream.
   Dim encStream As New Security.Cryptography.CryptoStream(ms, TripleDes.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write)

   ' Use the crypto stream to write the byte array to the stream.
   encStream.Write(plaintextBytes, 0, plaintextBytes.Length)
   encStream.FlushFinalBlock()

   ' Convert the encrypted stream to a printable string.
   Return Convert.ToBase64String(ms.ToArray)
End Function

Public Function DecryptData(ByVal encryptedtext As String) As String

   ' Convert the encrypted text string to a byte array.
   Dim encryptedBytes() As Byte = Convert.FromBase64String(encryptedtext)

   ' Create the stream.
   Dim ms As New System.IO.MemoryStream
   ' Create the decoder to write to the stream.
   Dim decStream As New Security.Cryptography.CryptoStream(ms, TripleDes.CreateDecryptor, System.Security.Cryptography.CryptoStreamMode.Write)

   ' Use the crypto stream to write the byte array to the stream.
   decStream.Write(encryptedBytes, 0, encryptedBytes.Length)
   decStream.FlushFinalBlock()

   ' Convert the plaintext stream to a string.
   Return System.Text.Encoding.Unicode.GetString(ms.ToArray)
End Function
#End Region


موفقين
متغيب
الرد }}}
تم الشكر بواسطة: moha11
#3
يمكنك استخدام الدوال التالية للتشفير باستخدام Password و دالة التشفير تسترجع منها String يمكنك أن تحفظه في ملف الداتا بيز مثل أي String و يوجد دالة اخري لفك التشفير و بنفس الأسلوب

كل ما عليك هو ان تمرر Text المراد تشفيره و أيضا الدوال تسمح باستخدام Password عند التشفير و فك التشفير

أما عن rgbIVString و saltString الموجودة في الدوال فيمكنك ان تستخدم اي شكل من الحروف و الارقام للتعويض عنهما



كود :
Friend Function Decrypt(text As String, passWord As String, rgbIVString As String, saltString As String) As String
       Dim rgbIV As Byte() = Encoding.ASCII.GetBytes(rgbIVString)
       Dim saltValueBytes As Byte() = Encoding.ASCII.GetBytes(saltString)
       Dim textBuffer As Byte() = Convert.FromBase64String(text)

       Dim rfc As Rfc2898DeriveBytes = New Rfc2898DeriveBytes(passWord, saltValueBytes, iterations)
       Dim rgbKey As Byte() = rfc.GetBytes(keySize / 8)

       Dim algorithm As ICryptoTransform = New RijndaelManaged() With {.Mode = CipherMode.ECB}.CreateDecryptor(rgbKey, rgbIV)
       Dim bufferStream As MemoryStream = New MemoryStream(textBuffer)
       Dim cryptographyStream As CryptoStream = New CryptoStream(bufferStream, algorithm, CryptoStreamMode.Read)
       Dim buffer As Byte() = New Byte(textBuffer.Length - 1) {}
       Dim sequence As Integer = cryptographyStream.Read(buffer, 0, buffer.Length)
       bufferStream.Close()
       cryptographyStream.Close()
       Return Encoding.UTF8.GetString(buffer, 0, sequence)

   End Function

   Friend Function Encrypt(text As String, passWord As String, rgbIVString As String, saltString As String) As String
       Dim rgbIV As Byte() = Encoding.ASCII.GetBytes(rgbIVString)
       Dim saltValueBytes As Byte() = Encoding.ASCII.GetBytes(saltString)
       Dim textBuffer As Byte() = Encoding.UTF8.GetBytes(text)

       Dim rfc As Rfc2898DeriveBytes = New Rfc2898DeriveBytes(passWord, saltValueBytes, iterations)
       Dim rgbKey As Byte() = rfc.GetBytes(keySize / 8)
       Dim algorithm As ICryptoTransform = New RijndaelManaged() With {.Mode = CipherMode.ECB}.CreateEncryptor(rgbKey, rgbIV)
       Dim bufferStream As MemoryStream = New MemoryStream()
       Dim cryptographyStream As CryptoStream = New CryptoStream(bufferStream, algorithm, CryptoStreamMode.Write)
       cryptographyStream.Write(textBuffer, 0, textBuffer.Length)
       cryptographyStream.FlushFinalBlock()
       Dim buffer As Byte() = bufferStream.ToArray()
       bufferStream.Close()
       cryptographyStream.Close()
       Return Convert.ToBase64String(buffer)
   End Function
كود :
Private iterations As Integer = 2
   Private keySize As Integer = 256

راجع اللينك التالي لنفس الفكرة و لكن المتغيرات عبارة عن Byte

اللينــــــــــــــــــــك
الرد }}}
تم الشكر بواسطة: الطالب , moha11
#4
جزاك الله خير اخي الطالب
تم التنفيذ
سعيك مشكور

مشكور كثير اخي silverlight علي المجهود والرد
جزاك الله خير
الرد }}}
تم الشكر بواسطة:
#5
اخي الطالب اذا شفرت كلمة بعد الخروج من البرنامج والدخول مرة اخري لايستطيع فك الشفره لهذه الكلمة
ارجو الرد...
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 145 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  بحث بالكومبو بوكس لا ى جزء من النص Lathe1 3 479 28-02-24, 02:59 AM
آخر رد: معاند الحظ
  انشاء قاعدة بيانات من ملف سكربت strongriseman 5 510 17-02-24, 02:57 PM
آخر رد: strongriseman
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 264 11-02-24, 08:43 PM
آخر رد: assuhimi
  فلترة datagridview بدون قاعدة بيانات صالح عبدالله 3 320 02-02-24, 04:07 PM
آخر رد: صالح عبدالله
Photo [كود] مطلوب كود يستخدم الأوامر فقط لتحديث قاعدة بيانات بـ vb.net AhmedEissa 4 650 18-01-24, 11:40 PM
آخر رد: العتيق
  [VB.NET] إعادة استدعاء البيانات من قاعدة بيانات اكسس والاهم الصورة مبرمج صغير 1 1 282 13-01-24, 01:17 PM
آخر رد: مبرمج صغير 1
  [VB.NET] استخلاص جزء محدد من نص وإضافته إلى بداية النص ؟ AmeenRashed 2 227 02-01-24, 10:06 AM
آخر رد: AmeenRashed
  [VB.NET] إضافة أو حذف حقل فى قاعدة بيانات باستخدام كود VB.net AmeenRashed 21 1,226 30-12-23, 03:47 PM
آخر رد: Taha Okla
Heart [C#.NET] حول بطئ عملية نقل البينات الكثيرة من أكسس إلى داتا غريد فيو بلال بلال 11 722 15-12-23, 07:47 AM
آخر رد: foad8920

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


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