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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] سوال مشكلة في اخذ نسخة احتياطية من قاعدة بيانات SQL كفاح 4 88 14-01-17, 08:19 PM
آخر رد: كفاح
  استفسار عن الجداول المتعددة في قاعدة البيانات اكسس أبووسم 4 104 14-01-17, 12:36 PM
آخر رد: أبووسم
  تغيير قاعدة البيانات الى .bak صبري زينوبي 5 125 01-01-17, 02:33 PM
آخر رد: صبري زينوبي
  كيف يمكن تحريك مربعات النص على التقرير السيد الجوهري 0 38 30-12-16, 09:49 AM
آخر رد: السيد الجوهري
  ماهو كود اضافة صفوف الداتا قرد الي قاعدة البيانات SQL SERVER معتز الجازوي 0 66 26-12-16, 05:13 AM
آخر رد: معتز الجازوي
  مساعده اريد كود لحذف عدد من الصفوف من الداتا قرد فيو وكذلك تنحذف من قاعدة البيانات معتز الجازوي 2 103 25-12-16, 01:44 PM
آخر رد: thevirus
  [VB.NET] اريد إضافة صورة للموظف في جدول أخر بنفس قاعدة البيانات أبووسم 11 559 18-12-16, 07:15 PM
آخر رد: أبووسم
  ما هو كود حفظ البيانات من الداتا جريد فيو إلى قاعدة البيانات kofa 4 266 18-12-16, 05:00 AM
آخر رد: zinom
  انشاء قاعدة بيانات بإمتداد خاص بك thevirus 6 241 13-12-16, 06:14 PM
آخر رد: thevirus
  لديّ 2 قاعدة بيانات وريبورت 1 اريد تغيير البيانات مرة من القاعدة 1 ومرة من القاعدة 2 محمد محمود الغرياني 3 103 12-12-16, 02:04 AM
آخر رد: khodor1985

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


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