المشاركات : 186
المواضيع 33
الإنتساب : Dec 2018
السمعة :
1
الشكر: 187
تم شكره 150 مرات في 105 مشاركات
19-09-19, 05:49 PM
(آخر تعديل لهذه المشاركة : 19-09-19, 05:50 PM {2} بواسطة 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
بتمني من اى حد من اساتذتنا الكبار يساعدونى فى فكره عمل برنامج التشفير دا
ولكم جزيل الشكر
المشاركات : 7,394
المواضيع 803
الإنتساب : Sep 2013
السمعة :
847
الشكر: 13249
تم شكره 18797 مرات في 4415 مشاركات
هذا كود vb حولها باي طريقة
PHP كود :
Dim eng As String = "abcdefghijklmnopqrstuvwxyz" Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click For Each h As String In TextBox1.Text TextBox2.AppendText(eng.IndexOf(h)) Next End Sub
الترقيم يبدا من الصفر يعني حرف a يكون صفر 0 انت زيد رقم او نقص حسب المطلوب او اقبل الترقيم كما هو.
المشاركات : 272
المواضيع 4
الإنتساب : Sep 2018
السمعة :
44
الشكر: 238
تم شكره 575 مرات في 245 مشاركات
(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);
للتوضيح انا جعلت اى احرف تكتب بالانجليزية اذا كانت كبيرة او صغيرة سيقوم بتنفيذ الامر
واذا كنت تريد استقرار الامر بحيث الحرف الكبير يبقي كبير والعكس فكل ما عليك اضافة الاحرف الصغيرة
وازالة كلاً من التالى طبعاً مع معالجة وظيفتهم
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5323 مرات في 2095 مشاركات
السلام عليكم اخي الكريم
من حيث الفكرة جيدة ولكن لاحظ انك لم تأخذ في الاعتبار اذا كان الاكواد تحتوي على اشارات ورموز خاصة بلغة السي شارب
والاهم من كل ذلك هو الارقام التي ستكون مشابهة للتشفير وعند فك التشفير ستكون المشكلة
اذا كيف ستفرق بين الرقم الغادي الذي هو من ضمن الكود والرقم الذي يمثل التشفير
المسالة تحتاج الى دراسة اعمق وهي اشبه بانشاء لغة يفهمها كود التشفير وكود فك التشفير
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 186
المواضيع 33
الإنتساب : Dec 2018
السمعة :
1
الشكر: 187
تم شكره 150 مرات في 105 مشاركات
23-09-19, 04:08 PM
(آخر تعديل لهذه المشاركة : 23-09-19, 04:21 PM {2} بواسطة maxruined.)
(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);
للتوضيح انا جعلت اى احرف تكتب بالانجليزية اذا كانت كبيرة او صغيرة سيقوم بتنفيذ الامر
واذا كنت تريد استقرار الامر بحيث الحرف الكبير يبقي كبير والعكس فكل ما عليك اضافة الاحرف الصغيرة
وازالة كلاً من التالى طبعاً مع معالجة وظيفتهم
تمام اخوى اشتغل وزى الفل
بس فيه مشكلة صغيره ان لو فيه اي كلمه مساوية لرتبه الاحاد بيجبلي جمبه صفر
انا كنت عايز الغي الصفر دا .. عمتاً جارى العمل على الكود بتاعك
فيه كمان حاجه ان هو بيعبر عن ال Space برتبه 26 ازاى ممكن اغير قيمه ال Space لاي قيمه انا عايزها ؟؟
مره تانى الف مليون شكر
(20-09-19, 07:04 PM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
من حيث الفكرة جيدة ولكن لاحظ انك لم تأخذ في الاعتبار اذا كان الاكواد تحتوي على اشارات ورموز خاصة بلغة السي شارب
والاهم من كل ذلك هو الارقام التي ستكون مشابهة للتشفير وعند فك التشفير ستكون المشكلة
اذا كيف ستفرق بين الرقم الغادي الذي هو من ضمن الكود والرقم الذي يمثل التشفير
المسالة تحتاج الى دراسة اعمق وهي اشبه بانشاء لغة يفهمها كود التشفير وكود فك التشفير
بعتذر اخوى ولكن مش فاهم قصدك كويس ياريت توضح اكتر
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5323 مرات في 2095 مشاركات
23-09-19, 08:38 PM
(آخر تعديل لهذه المشاركة : 23-09-19, 08:39 PM {2} بواسطة ابراهيم ايبو.)
السلام عليكم اخي الكريم
قصدي كيف ستشفر هذا الكود مثلا وفيه ارقام ورمز الفاصلة وهناك احرف صغيرة واحرف كبيرة لان السي شارب حساسة لحالة الاحرف
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 186
المواضيع 33
الإنتساب : Dec 2018
السمعة :
1
الشكر: 187
تم شكره 150 مرات في 105 مشاركات
(23-09-19, 08:38 PM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
قصدي كيف ستشفر هذا الكود مثلا وفيه ارقام ورمز الفاصلة وهناك احرف صغيرة واحرف كبيرة لان السي شارب حساسة لحالة الاحرف
الكود اللى شارحه اخوى KiKi
بيقدر بس يشفر الحروف ولكن لو كان فيه رموز مش بيشفرها بيتجاهلها
|