انا استخدم عدة دوال تشفير واشفر النص عادي وافك التشفير عادي بشرط يكون انجليزي ولكن عند استخدام اللغة العربية في النص المشفر ينقلب النص الي علامات استفهام
ما الحل او الطريقة الصحيحة لتشفير وفك تشفير نص باللغة العربية والانجليزية معا
بالنسبه لي فأستخدم كلاس سهل خاص للتشفير
كود :
Public Class Security
Public Shared trip As New System.Security.Cryptography.TripleDESCryptoServiceProvider
Public Shared md5 As New System.Security.Cryptography.MD5CryptoServiceProvider
Public Shared Function utf(ByVal V As String) As Byte()
Return md5.ComputeHash(System.Text.ASCIIEncoding.UTF8.GetBytes(V))
End Function
Public Shared Function cod(ByVal str As String, ByVal key As String) As String
On Error Resume Next
trip.Key = utf(key)
trip.Mode = System.Security.Cryptography.CipherMode.ECB
Dim Buffer As Byte() = System.Text.ASCIIEncoding.UTF8.GetBytes(str)
Return Convert.ToBase64String(trip.CreateEncryptor().TransformFinalBlock(Buffer, 0, Buffer.Length))
End Function
Public Shared Function uncod(ByVal str As String, ByVal key As String) As String
On Error Resume Next
trip.Key = utf(key)
trip.Mode = System.Security.Cryptography.CipherMode.ECB
Dim byt() As Byte = Convert.FromBase64String(str)
Return System.Text.ASCIIEncoding.UTF8.GetString(trip.CreateDecryptor().TransformFinalBlock(byt, 0, byt.Length))
End Function
End Class
ايضآآ ممكن تغير من نوع التشفير
الفكرة تعتمد على الكلمة الي تريد تشفرها+كلمة السر لفك تشفير الكلمة ضع زر بوتون وضع هذا الكود
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As String = Security.cod("فيجوال بيسك", "123")
MsgBox(a)
Dim b As String = Security.uncod(a, "123")
MsgBox(b)
End Sub
جزاك اللة كل خير اخي ولكن يحدث مشكلة بالرغم من استدعائي لهذة الدوال
كود :
Imports System.IO
Imports System.Text
Imports System.Security.Cryptography
المشكلة بهذا الجزء خصوصا
GetString(trip.CreateDecryptor().TransformFinalBlock(byt, 0, byt.Length)
وهل يشفر النص بالغة العربية
هل يمكن ان تضع صورة الخطأ