تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
التشفير وهم أم حقيقة
#9
الأسلوب الثامن:
Hashing & Unhashing
هذا الأسلوب تم توضيحه في الموضوع الموجود في اللينك التالي
Hash & Unhash

و هنا فقط اريد اضافة شئ بسيط لهذا الموضوع و هو كيفية استخدام كل من
Left Shift = (<<) و Right Shift = (>>)

مثال بسيط علي Left Shift = (<<)


PHP كود :
Dim chr As Char "A"c
        Dim x 
As Integer AscW(chr)
 
       x << 16 

الفكرة ببساطه هنا أننا تضرب الأسكي كود الخاص بأي حرف في القيمة 2 أس 16
أو بمعني أدق نضربها في 2 مرفوعة لأي أس و ليس 16 تحديدا
نفس الكود أعلاه يمكن كتابته كالأتي
PHP كود :
       Dim chr As Char "A"c
        Dim x 
As Integer AscW(chr)
 
       x * (16

و أيضا يمكن كتابته كالأتي

PHP كود :
       Dim chr As Char "A"c
        Dim x 
As Integer AscW(chr)
 
       x Math.Pow(216

و لفك التشفيير
يتم استخدام  Right Shift = (>>)
الفكرة ببساطه هنا أننا نقسم الرقم المشفر علي القيمة 2 أس 16
PHP كود :
       Dim y As Integer x
        y 
>> 16
        Dim result 
As Char ChrW(y

أيضا يمكن كتابة الكود بالشكل التالي


PHP كود :
       Dim y As Integer x
        y 
/ (16)
 
       Dim result As Char ChrW(y

,وأيضا يمكن كتابة الكود كالتالي
PHP كود :
       Dim y As Integer x
        y 
Math.Pow(216)
 
       Dim result As Char ChrW(y

حاول أن نقوم بتغيير الرقم 16 و هو هنا يمثل الأس
خاول تغييره الي اي رقم اخر اقل من 16 أو أكبر من 16
يجب فقط أن تضع في اعتبارك أن Integer له MaxValue و له MinValue

في الكود أعلاه قمت فقط بتوضيح كيفية تشفيير و فك التتشفيير لحرف واحد
حاول تتطبق الفكرة علي string لتري كيف يتم التشفيير و العكس

يمكن كتابة الكود أعلاه علي شكل دوال رياضية كالتالي

PHP كود :
   Private Function LeftShift(As Integerbase As Integerpower As Integer) As Integer
        Return 
(Math.Pow(basepower))
 
   End Function

 
   Private Function RightShift(As Integerbase As Integerpower As Integer) As Integer
        Return 
(Math.Pow(basepower))
 
   End Function 

استخدام احدي الدالتين في التشفيير
PHP كود :
       Dim chr As Char "A"c
        Dim x 
As Integer AscW(chr)
 
       x LeftShift(x83

وأيضا يمكن كتابة الكود علي هيئة كلاس كالتالي

PHP كود :
Public Class BitWise

    Private value 
As Integer
    Private base 
As Integer
    Private power 
As Integer

    Public Sub 
New(value As Integerbase As Integerpower As Integer)
 
       Me.value value
        Me
.base base
        Me
.power power
    End Sub

    Public ReadOnly Property Left 
As Integer
        Get
            Return 
(value Math.Pow(basepower))
 
       End Get
    End Property

    Public ReadOnly Property Right 
As Integer
        Get
            Return 
(value Math.Pow(basepower))
 
       End Get
    End Property

End 
Class 
Retired
الرد }}}
تم الشكر بواسطة: أسامة السالمي


الردود في هذا الموضوع
التشفير وهم أم حقيقة - بواسطة 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


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


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