تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
التشفير وهم أم حقيقة
#3
الأسلوب الخامس :
إستخدام ReverseString

هذا الأسلوب ربما يكون أحد الأساليب البسيطة التي لا تحتاج الي مهارة برمجية كبيرة
الفكرة تنحصر أنك تأخذ التكست المراد تشفييرة ثم تقوم بعمل Reverse له او تعكسه
ثم تقوم بتحويل كل حرف في هذا التكست الي بايت أو بمعني أدق تقوم بتحويل االحروف الي مصفوفة بايت
ولكي تفك التشفير فقط تقوم بتحويل مصفوفة البايت الي String ثم تعكس المدخلات الي اصلها

الدالة التالية تقوم بتحويل اي String إلي String معكوسه حروفه

PHP كود :
   Private Function ReversString(As String) As String
        Dim result 
As String ""
 
       Dim count As Integer = If(Not String.IsNullOrEmpty(s), 10)
 
       If count 0 Then
            For i 
0 To s.Length 1
                result 
+= s(s.Length 1)
 
           Next
        End 
If
 
       Return result
    End 
Function 

مثال:
التشفيير

PHP كود :
       Dim s As String ReversString("Visual Basic")
 
       Dim bytes As Byte() = System.Text.Encoding.Unicode.GetBytes(s

فك التشفيير

PHP كود :
       Dim decrypted As String ReversString(System.Text.Encoding.Unicode.GetString(bytes))
 
       Me.Text decrypted 

طبعا هنا عندما قمت بالتشفيير استخدمت System.Text.Encoding لتحويل string الي مصفوفة بايت
ثم و عند فك التشفيير قمت بتحويل مصفوفة البايت الي String مرة أخري بنفس الأسلوب

طريقة أخري :
أحيانا بعض المبرمجين لا يرغبون في الإعتماد علي الدوال الموجودة في الدوت نت
و هنا علي المبرمج أن يكتب الدوال الخاصة بالتشفيير و فك التشفيير بنفسه
و الأكواد التالية توضح كيف تكتب الكود كاملا بنفسك

ملحوظة :
دالة التشفيير هنا تقوم بتحويل كل حرف الي رقم
وبالتأكيد يمكن للقارئ تحويل الارقام الي بايت
باستخدام الكود الموجود في اللينك التالي
Convert structure to byteArray & viceversa

أيضا علي المبرمج أن لاينسي انه يتعامل مع Char وبالتالي فإن التحويل الي مصفوفة بايت من الحروف الانجليزية يختلف كليا عن تحويل الحروف العربية الي مصفوفة بايت


PHP كود :
   Private Function EncryptReversedString(As String) As String
        Dim reversed 
As String ReversString(s)
 
       Dim result As String ""
 
       Dim count As Integer = If(Not String.IsNullOrEmpty(reversed), 10)
 
       If count 0 Then
            Dim i 
As Integer 0
            While i 
reversed.Length
                Dim chr 
As Char reversed(i)
 
               result += AscW(chr.ToString).ToString
                result 
+= " "c
                i 
+= 1
            End 
While

 
       End If
 
       Return result.TrimEnd(" "c)
 
   End Function

 
   Private Function DecryptReversedString(As String) As String
        Dim result 
As String ""
 
       Dim count As Integer = If(Not String.IsNullOrEmpty(s), 10)
 
       If count 0 Then
            Dim values 
As String() = s.Split(" "c)
 
           Dim i As Integer 0
            While i 
values.Length
                Dim current 
As String values(i)
 
               Dim chr As Char ChrW(CInt(current))
 
               result += chr.ToString
                i 
+= 1
            End 
While
 
       End If

 
       Return Me.ReversString(result)
 
   End Function 

الإستخدام
التشفيير و فك التشفيير

PHP كود :
       Dim s As String ReversString("فيجوال بيسك")
 
       Dim encrypted As String EncryptReversedString(s)


 
       Dim decrypted As String Me.DecryptReversedString(encrypted)
 
       Me.Text ReversString(decrypted

طريقة أخري :

حيث هنا نقوم بتحويل String الي مصفوفة بايت باستخدام System.Text.Encoding
PHP كود :
 Dim s As String "visual basic"
 
       Dim bytes As Byte() = System.Text.Encoding.Unicode.GetBytes(s


ثم نقوم بعكس مصفوفة البايت باستخدام الدالة التالية

PHP كود :
 Private Function Revert(values As Byte()) As Byte()
 
       Dim result As Byte() = New Byte(values.Length 1) {}
 
       For i 0 To values.Length 1
            result
(i) = values(values.Length 1)
 
       Next
        Return result
    End 
Function 

PHP كود :
Dim reversed As Byte() = Revert(bytes

وحين نريد فك التشفيير
نقوم بعكس مصفوفة البايت
PHP كود :
       Dim reReversed As Byte() = Revert(reversed


ثم نستخدم System.Text.Encoding في إعادة المصفوفة الي String

PHP كود :
Dim result As String System.Text.Encoding.Unicode.GetString(reReversed)
 
       Me.Text result 
Retired
الرد }}}
تم الشكر بواسطة: Fantastico , ابو خالد , ابو خالد


الردود في هذا الموضوع
التشفير وهم أم حقيقة - بواسطة silverlight - 21-09-17, 01:59 PM
RE: التشفير وهم أم حقيقة - بواسطة silverlight - 26-09-17, 01:42 PM
RE: التشفير وهم أم حقيقة - بواسطة silverlight - 27-09-17, 12:15 PM
RE: التشفير وهم أم حقيقة - بواسطة silverlight - 27-09-17, 04:35 PM
RE: التشفير وهم أم حقيقة - بواسطة silverlight - 30-09-17, 11:59 AM
RE: التشفير وهم أم حقيقة - بواسطة silverlight - 30-09-17, 02:22 PM
RE: التشفير وهم أم حقيقة - بواسطة silverlight - 01-10-17, 02:12 PM
RE: التشفير وهم أم حقيقة - بواسطة sendbad100 - 02-10-17, 03:10 PM
RE: التشفير وهم أم حقيقة - بواسطة silverlight - 04-10-17, 11:12 AM
RE: التشفير وهم أم حقيقة - بواسطة silverlight - 18-10-17, 10:49 AM


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


يقوم بقرائة الموضوع: