تقييم الموضوع :
  • 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
اخي الطالب اذا شفرت كلمة بعد الخروج من البرنامج والدخول مرة اخري لايستطيع فك الشفره لهذه الكلمة
ارجو الرد...
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ما هو كود حفظ البيانات من الداتا جريد فيو إلى قاعدة البيانات kofa 1 62 أمس, 03:22 AM
آخر رد: abid
  الحذف من قاعدة البيانات بدلات تشيك بوكس في داتا جريدفيو makky 2 86 08-12-16, 11:16 AM
آخر رد: superwoofer
Sad [VB.NET] كيفية تصميم قاعدة بيانات SQL Server وربطها مع الVS 2010 Ayman97 0 33 06-12-16, 04:34 PM
آخر رد: Ayman97
  انشاء قاعدة بيانات بإمتداد خاص بك thevirus 5 143 05-12-16, 03:09 PM
آخر رد: thevirus
  تغيير قاعدة البيانات الى .bak زيد زينوبي 3 67 03-12-16, 07:07 PM
آخر رد: ابراهيم النعيمي
  قاعدة البيانات لا تدعم اللغة العربية ؟؟؟؟؟؟ صبري زينوبي 13 224 03-12-16, 04:47 PM
آخر رد: صبري زينوبي
  تغيير قاعدة البيانات من اكسس الى sql hglogtd 2 111 26-11-16, 03:03 AM
آخر رد: hglogtd
  [كود] الحذف من قاعدة البيانات بواسطة كلمة سر المبرمج العبقري 5 127 23-11-16, 05:21 PM
آخر رد: hglogtd
  اضافه خليه في قاعدة البيانات بعد ربطها بVB2010 أحمد العرب 1 56 20-11-16, 10:56 PM
آخر رد: ابراهيم النعيمي
  مسار قاعدة البيانات في التكست بوكس hglogtd 2 77 19-11-16, 02:19 AM
آخر رد: hglogtd

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


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