تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
فكره عمل برنامج تشفير بسيط
#1
السلام عليكم
خطرت فى بالي فكره برنامج تشفير بسيط بس فى الحقيقه لما جيت انفذ البرنامج معرفتش اعمله ازاى
 والفكره كالاتى :-
فكره البرنامج انك تدخل اي جملة مثلا كلمة MAX 
والمفروض تبقي بعد التشفير كدا 13124
والفكره ببساطه ان اخد كل حرف مع القيمه المساويه له بمعني اخر
A     B    C    D    E     F    G    H    I     J     K     L      M     N    O     P     Q     R     S     T     U     V    W      X     Y      Z
26   25   24    23   22   21   20   19   18   17   16   15   14   13    12   11   10   9    8    7     6    5    4    3    2     1
رتبه الحرف M هى 13 وربته الحرف A هى 1 وربته الحرف X هى 24 وبكدا اصبح الاسم بعد التشفير = 13124

بتمني من اى حد من اساتذتنا الكبار يساعدونى فى فكره عمل برنامج التشفير دا 


ولكم جزيل الشكر
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5
#2
هذا كود vb حولها باي طريقة
PHP كود :
Dim eng As String "abcdefghijklmnopqrstuvwxyz"
 
   Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        For Each h 
As String In TextBox1.Text
            TextBox2
.AppendText(eng.IndexOf(h))
 
       Next
    End Sub 
الترقيم يبدا من الصفر يعني حرف a يكون صفر 0 انت زيد رقم  او نقص حسب المطلوب او اقبل الترقيم كما هو.
الرد }}}
تم الشكر بواسطة: baha , Rabeea Qbaha , ابراهيم ايبو , maxruined , asemshahen5
#3
(19-09-19, 05:49 PM)maxruined كتب :
السلام عليكم
خطرت فى بالي فكره برنامج تشفير بسيط بس فى الحقيقه لما جيت انفذ البرنامج معرفتش اعمله ازاى
 والفكره كالاتى :-
فكره البرنامج انك تدخل اي جملة مثلا كلمة MAX 
والمفروض تبقي بعد التشفير كدا 13124
والفكره ببساطه ان اخد كل حرف مع القيمه المساويه له بمعني اخر
A     B    C    D    E     F    G    H    I     J     K     L      M     N    O     P     Q     R     S     T     U     V    W      X     Y      Z
26   25   24    23   22   21   20   19   18   17   16   15   14   13    12   11   10   9    8    7     6    5    4    3    2     1
رتبه الحرف M هى 13 وربته الحرف A هى 1 وربته الحرف X هى 24 وبكدا اصبح الاسم بعد التشفير = 13124

بتمني من اى حد من اساتذتنا الكبار يساعدونى فى فكره عمل برنامج التشفير دا 


ولكم جزيل الشكر

لتبسيط الامور عليك وجعل الامور ابسط معك
فهنا يجب النظر الى نقطة مهمة جداً وهى التالى

فى البداية يجب النظر فى الاعداد لعدد الاحرف
حتل الاجمالى هو عبارة عن آحاد او هى عشرات

طيب بعد النظرفان العدد يتجاوز الـ 9 ولا يزيد عن 99
فاصبح الاجمالى هنا هو عشرات

بعد اخذ بهذا الاعتبار فناتى للخطوة وهو توحيد الترقيم ليكون جميعهم يحمل عشرات
بحيث رقم 1 يصبح 01 ليكون العد من 01 الى 09 أو يفضل ان يكون 00 : 09
وبما اننا قلنا سنبداء العدد من 00 يعنى سيكون الاجمالى بنهاية العد هو 25
ليكون الشكل النهائي 01 02 03 : 25

طيب بعد اتمام هذه النظرية ايه العامل المستفيد منه هنا
العامل الايجابي هنا هو عند تحويل كلمة كمثال MAX الى 130124
هيتم عمل Split للقيمة كل رقمين فهنا هنفهم ان 13 تعنى M و 01 تعنى A
بكده مش هتحس باى متاهة عند تحويل الاحرف التالية
A     B    C    D    E     F    G    H    I     J
الى ان تكون عبارة عن
9    8    7     6    5    4    3    2     1     0
لان الشكل سيصبح
09    08    07     06    05    04    03    02     01     00

طيب هبسط عليك الامر بعد الشرح ده بالكود للاحرف الانجليزية مع المسافة
فكل ما عليك اذا فهمت الشرح الذى ذكرته ان تضيف الاحرف العربية و الارقام
وتقوم باضافتها بالرد هنا منها ليستفاد الجميع وايضاً منها اعلم ان الصورة وضحت والكود مبسط معك

انا حاولت ابسط الكود واجعله بسيط جداً كان بامكان اختصار الكود الذى ساضعه وابسط الامور اكثر
ولكن قد لا تفهم كيف تم الامر ووضيفة الكود ولتبسيط الامور وسهولة فهم كل سطر من الكود

اليك الكود
فى البداية قم باضافة التالى خارج نطاق اى حدث
كود :
       //تعريف الاحرف والارقام التى يتم التحويل بينهم
       string[] abc = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " " };
       string[] num = new string[] { "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26" };
بعد ذلك قم باضافة التالى
كود :
       //كود التشفير
       private string StNb(string text)
       {
           text = text.ToUpper();
           string mykey = null;
           for (int a = 0; a < text.Count(); a++)
               for (int b = 0; b < abc.Count(); b++)
                   if (text.Substring(a, 1) == abc[b])
                       mykey += text.Substring(a, 1).Replace(abc[b], num[b]);
           return mykey;
       }

       //كود فك التشفير
       private string NbSt(string text)
       {
           string mykey = null;
           for (int a = 0; a < (text.Count() / 2); a++)
               for (int b = 0; b < num.Count(); b++)
                   if (text.Substring(a * 2, 2) == num[b])
                       mykey += text.Substring(a * 2, 2).Replace(num[b], abc[b]);
           return mykey.ToLower();
       }
الان تعال عن حدث التنفيذ بتنفيذ التالى للتشفير
كود :
           textBox2.Text = StNb(textBox1.Text);
وفى حدث فك التشفير كل ما عليك تنفيذ التالى
كود :
           textBox3.Text = NbSt(textBox2.Text);

للتوضيح انا جعلت اى احرف تكتب بالانجليزية اذا كانت كبيرة او صغيرة سيقوم بتنفيذ الامر
واذا كنت تريد استقرار الامر بحيث الحرف الكبير يبقي كبير والعكس فكل ما عليك اضافة الاحرف الصغيرة
وازالة كلاً من التالى طبعاً مع معالجة وظيفتهم
PHP كود :
.ToLower()
.
ToUpper() 
الرد }}}
تم الشكر بواسطة: سعود , ابراهيم ايبو , maxruined , maxruined , Abou Eman , asemshahen5
#4
السلام عليكم اخي الكريم 

من حيث الفكرة جيدة ولكن لاحظ انك لم تأخذ في الاعتبار اذا كان  الاكواد تحتوي على اشارات ورموز خاصة بلغة السي شارب

والاهم من كل ذلك هو الارقام التي ستكون مشابهة للتشفير وعند فك التشفير ستكون المشكلة

اذا كيف ستفرق بين الرقم الغادي الذي هو من ضمن الكود والرقم الذي يمثل التشفير

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







الرد }}}
تم الشكر بواسطة: Rabeea Qbaha , maxruined , asemshahen5
#5
(20-09-19, 02:54 AM)kiki كتب :
(19-09-19, 05:49 PM)maxruined كتب :
السلام عليكم
خطرت فى بالي فكره برنامج تشفير بسيط بس فى الحقيقه لما جيت انفذ البرنامج معرفتش اعمله ازاى
 والفكره كالاتى :-
فكره البرنامج انك تدخل اي جملة مثلا كلمة MAX 
والمفروض تبقي بعد التشفير كدا 13124
والفكره ببساطه ان اخد كل حرف مع القيمه المساويه له بمعني اخر
A     B    C    D    E     F    G    H    I     J     K     L      M     N    O     P     Q     R     S     T     U     V    W      X     Y      Z
26   25   24    23   22   21   20   19   18   17   16   15   14   13    12   11   10   9    8    7     6    5    4    3    2     1
رتبه الحرف M هى 13 وربته الحرف A هى 1 وربته الحرف X هى 24 وبكدا اصبح الاسم بعد التشفير = 13124

بتمني من اى حد من اساتذتنا الكبار يساعدونى فى فكره عمل برنامج التشفير دا 


ولكم جزيل الشكر

لتبسيط الامور عليك وجعل الامور ابسط معك
فهنا يجب النظر الى نقطة مهمة جداً وهى التالى

فى البداية يجب النظر فى الاعداد لعدد الاحرف
حتل الاجمالى هو عبارة عن آحاد او هى عشرات

طيب بعد النظرفان العدد يتجاوز الـ 9 ولا يزيد عن 99
فاصبح الاجمالى هنا هو عشرات

بعد اخذ بهذا الاعتبار فناتى للخطوة وهو توحيد الترقيم ليكون جميعهم يحمل عشرات
بحيث رقم 1 يصبح 01 ليكون العد من 01 الى 09 أو يفضل ان يكون 00 : 09
وبما اننا قلنا سنبداء العدد من 00 يعنى سيكون الاجمالى بنهاية العد هو 25
ليكون الشكل النهائي 01 02 03 : 25

طيب بعد اتمام هذه النظرية ايه العامل المستفيد منه هنا
العامل الايجابي هنا هو عند تحويل كلمة كمثال MAX الى 130124
هيتم عمل Split للقيمة كل رقمين فهنا هنفهم ان 13 تعنى M و 01 تعنى A
بكده مش هتحس باى متاهة عند تحويل الاحرف التالية
A     B    C    D    E     F    G    H    I     J
الى ان تكون عبارة عن
9    8    7     6    5    4    3    2     1     0
لان الشكل سيصبح
09    08    07     06    05    04    03    02     01     00

طيب هبسط عليك الامر بعد الشرح ده بالكود للاحرف الانجليزية مع المسافة
فكل ما عليك اذا فهمت الشرح الذى ذكرته ان تضيف الاحرف العربية و الارقام
وتقوم باضافتها بالرد هنا منها ليستفاد الجميع وايضاً منها اعلم ان الصورة وضحت والكود مبسط معك

انا حاولت ابسط الكود واجعله بسيط جداً كان بامكان اختصار الكود الذى ساضعه وابسط الامور اكثر
ولكن قد لا تفهم كيف تم الامر ووضيفة الكود ولتبسيط الامور وسهولة فهم كل سطر من الكود

اليك الكود
فى البداية قم باضافة التالى خارج نطاق اى حدث
كود :
       //تعريف الاحرف والارقام التى يتم التحويل بينهم
       string[] abc = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " " };
       string[] num = new string[] { "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26" };
بعد ذلك قم باضافة التالى
كود :
       //كود التشفير
       private string StNb(string text)
       {
           text = text.ToUpper();
           string mykey = null;
           for (int a = 0; a < text.Count(); a++)
               for (int b = 0; b < abc.Count(); b++)
                   if (text.Substring(a, 1) == abc[b])
                       mykey += text.Substring(a, 1).Replace(abc[b], num[b]);
           return mykey;
       }

       //كود فك التشفير
       private string NbSt(string text)
       {
           string mykey = null;
           for (int a = 0; a < (text.Count() / 2); a++)
               for (int b = 0; b < num.Count(); b++)
                   if (text.Substring(a * 2, 2) == num[b])
                       mykey += text.Substring(a * 2, 2).Replace(num[b], abc[b]);
           return mykey.ToLower();
       }
الان تعال عن حدث التنفيذ بتنفيذ التالى للتشفير
كود :
           textBox2.Text = StNb(textBox1.Text);
وفى حدث فك التشفير كل ما عليك تنفيذ التالى
كود :
           textBox3.Text = NbSt(textBox2.Text);

للتوضيح انا جعلت اى احرف تكتب بالانجليزية اذا كانت كبيرة او صغيرة سيقوم بتنفيذ الامر
واذا كنت تريد استقرار الامر بحيث الحرف الكبير يبقي كبير والعكس فكل ما عليك اضافة الاحرف الصغيرة
وازالة كلاً من التالى طبعاً مع معالجة وظيفتهم
PHP كود :
.ToLower()
.
ToUpper() 

تمام اخوى اشتغل وزى الفل 

بس فيه مشكلة صغيره ان لو فيه اي كلمه مساوية لرتبه الاحاد بيجبلي جمبه صفر 
انا كنت عايز الغي الصفر دا .. عمتاً جارى العمل على الكود بتاعك 
فيه كمان حاجه ان هو بيعبر عن ال Space برتبه 26 ازاى ممكن اغير قيمه ال Space لاي قيمه انا عايزها ؟؟
مره تانى الف مليون شكر 

(20-09-19, 07:04 PM)ابراهيم ايبو كتب :
السلام عليكم اخي الكريم 

من حيث الفكرة جيدة ولكن لاحظ انك لم تأخذ في الاعتبار اذا كان  الاكواد تحتوي على اشارات ورموز خاصة بلغة السي شارب

والاهم من كل ذلك هو الارقام التي ستكون مشابهة للتشفير وعند فك التشفير ستكون المشكلة

اذا كيف ستفرق بين الرقم الغادي الذي هو من ضمن الكود والرقم الذي يمثل التشفير

المسالة تحتاج الى دراسة اعمق وهي اشبه بانشاء لغة يفهمها كود التشفير وكود فك التشفير

بعتذر اخوى ولكن مش فاهم قصدك كويس ياريت توضح اكتر 
الرد }}}
تم الشكر بواسطة: asemshahen5
#6
السلام عليكم اخي الكريم
قصدي كيف ستشفر هذا الكود مثلا وفيه ارقام ورمز الفاصلة وهناك احرف صغيرة واحرف كبيرة لان السي شارب حساسة لحالة الاحرف
كود :
int aa = 101;
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: maxruined , asemshahen5
#7
(23-09-19, 08:38 PM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
قصدي كيف ستشفر هذا الكود مثلا وفيه ارقام ورمز الفاصلة وهناك احرف صغيرة واحرف كبيرة لان السي شارب حساسة لحالة الاحرف
كود :
int aa = 101;
الكود اللى شارحه اخوى KiKi 
بيقدر بس يشفر الحروف ولكن لو كان فيه رموز مش بيشفرها بيتجاهلها 
الرد }}}
تم الشكر بواسطة: asemshahen5



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


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