تقييم الموضوع :
  • 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] تعديل قاعدة البيانات محمد اسماعيل 7 80 18-07-18, 07:26 PM
آخر رد: elgokr
  [سؤال] كفية عمل شات يعتمد فقط على قاعدة البيانات sql alims 3 73 17-07-18, 01:27 PM
آخر رد: محمد اسماعيل
  [VB.NET] سؤال عن قاعدة البيانات من الخبراء محمد اسماعيل 2 84 17-07-18, 01:25 PM
آخر رد: محمد اسماعيل
  [VB.NET] نسخ واستعادة قاعدة البيانات محمد اسماعيل 4 93 12-07-18, 05:17 PM
آخر رد: محمد اسماعيل
  [سؤال] عندما أقوم بارسال كلام من تيكست الى صفحة ويب لو كان النص عربي يظهر ؟؟؟ dametucorazon 14 191 11-07-18, 06:19 AM
آخر رد: elgokr
  [VB.NET] قاعدة البيانات عند العميل محمد اسماعيل 3 72 10-07-18, 01:13 AM
آخر رد: elgokr
  [سؤال] كيف اقوم بعمل فلتر لبيانات في LISTBOX تم تعبئة البيانات من خلال قاعدة البيانات dametucorazon 3 68 08-07-18, 03:05 AM
آخر رد: elgokr
  [VB.NET] ملأ الكومبوبكس من نتائج البحث في قاعدة البيانات larbihamri 3 96 06-07-18, 06:07 PM
آخر رد: elgokr
  [VB.NET] باسورد قاعدة البيانا ت سيكول سيرفر محمد اسماعيل 4 72 03-07-18, 07:00 PM
آخر رد: elgokr
  [VB.NET] لدي فكرة ولا اعرف كيف اصل لتطبيقها وخاصة باستعلام من قاعدة بيانات mysql dametucorazon 2 75 01-07-18, 01:33 AM
آخر رد: dametucorazon

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


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