• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

البحث في المنتدى

Showing results for tags 'خوارزميات الضغط'.

  • البحث بالتاقات

    اكتب الكلمات المفتاحيه بينها علامه الفاصله
  • البحث بكاتب الموضوع

تم إيجاد 9 نتيجة

  1. شرح عمل نموذج بحث سريع اثناء الكتابة و امكانية الضغط على id لفتح تقارير بالتفاصيل  شرح لعمل نموذج بحث سريع اثناء الكتابة مثل google مع امكانية اختيار المعرف او id او المسلسل لفتح  تقرير بة باقى التفاصيل  شاهد الشرح بفديو على اليوتيوب من هنا https://www.youtube.com/watch?v=yBk5DwZuU8s https://www.youtube.com/watch?v=yBk5DwZuU8s https://www.youtube.com/watch?v=yBk5DwZuU8s https://www.youtube.com/watch?v=yBk5DwZuU8s <iframe width="560" height="315" src="https://www.youtube.com/watch?v=yBk5DwZuU8s" frameborder="0" allowfullscreen></iframe>
  2. المطلوب : احبتي  عند  الضغط  على  زر  اضافة  عميل سابق  لا  يظفيف  فاتورة  جديدة  الا  اذا  كانت الفاتورة  الحالية  في حقل الباقي (BAKY)= صفر  اما  اذا  كانت  الفاتورة  الحالية  في حقل  الباقي(BAKY) = اي مبلغ  يظهر  رسالة  الرجاء  تسديد  الفاتورة  السابقة قبل  اضافة  فاتورة  جديدة  للعميل  طبعا  كل  عميل  لة  رقم  عميل  
  3. ضغط زر ام من الفورم2

    السلام عليكم ورحمة الله وبركاتة اسعد الله صباحكم بكل خير من العايدين وكل عام وانتم بخير لدي سؤال واتمنى ان اجد اجابته لديكم لدي form1 و form2 , يوجد في الاول والثاني printdocument قمت بتحويل البيانات الموجودة في printdocment الخاصة بـ form1 وعرضها في printperviewcontrol من خلال الكود     ppc = new PrintPreviewControl(); ppc.Document = printDocument1;   وتصديرها الى printperviewcontrol في form2 من خلال الكود     PrintPreviewControl ppc2panel1.Controls.Add(ppc2); بعد ان تم عرض التقرير في الـ form2 اريد ان اقوم بطباعتة من خلال الضغط على الزر الموجود في form2 , كيف يمكن ذلك ؟؟ قمت بالمحاولة بطباعة محتويات الـ printdocment الخاصة بـ form1 من خلال نقل محتوياتها الى printdocment الخاصة بـ form2 من خلال الكود     frm = new Form2();frm.printDocument1 = this.printDocument1;frm.Show();  ولكن المحاولة فاشلة ولا تظهر البيانات في التقرير دمتم بود
  4. اريد تحميل كتاب ماده معالجه صور (خوارزميات ضغط الصور RLC...BTC)؟؟
  5. بسم الله الرحمن الرحيم  السلام عليكم و رحمه الله وبركاته  أعضاء المنتدى الجميل  من الملاحظ أن الشركات على اختلاف أنواعها و أشكالها متواجده في عصرنا الحالي في كل مكان و من الملاحظ مدى صعوبة إدارة الشركات و أن نجاح الشركات يعتمد على الادارة السليمة و الجيدة للشركة ..  الفكرة هي تصميم برنامج لادارة الشركات بحيث يسهل عملية تبادل البيانات بين أقسام الشركة و سهولة التواصل بين أفرادها عن بعد - الشركات التي تملك مقرات في اكتر من مكان حول العالم - .  الفكرة ما زالت مجرد فكرة و أنا أريد أن أعرف آرائكم حول هذه الفكرة و كيفية استغلال موقعنا في تجميع مبرمجين و محللين نظم لتحويل الفكرة الى واقع ..  ما رأيكم بالفكرة و ما هي اقتراحاتكم و شكرا .. 
  6. السلام عليكم  لو سمحتو اتمنى المساعده منكم انا مستوى رابع تقنية معلومات ومعي مشروع التخرج تبعي هو "التجكم بالحاسوب عن طريق الصوت " بستخدم فيه الشبكات العصبيه وطبعا في عدد من خوارزميات الشبكات العصبيه انا اريد ان اعرف ماهي الخوارزميات العصبية المناسبه لمشروعي 
  7. خوارزمية التشفير YAz لتشفير الرسائل (البريد الإلكتروني ) والمستندات بقوة تشفير اكثر من 9000 بت، من خلال خوارزمية التشفير YAz يمكنك تشفير جميع لغات العالم في رسالة واحدة لأنها تتعامل في عملية التشفير مع Binary Code و ASCII Code و HEX Code. للإطلاع على شرح وتفاصيل هذه الخوارزمية من خلال ملف PDF متوفر باللغة العربية والانجليزية كما ويمكنك الاطلاع على الشرح بالفيديو وتحميل البرنامج لتجربته       للتحميل وللمزيد من الشرح باللغة العربية والإنجليزية على الرابط التالي   http://www.yazsys.com
  8. التشفير في بيئة VB.NET في بيئة VB.NET جميع خوارزميات التشفير تقع ضمن هذه المكتبة . لذالك بكل سهولة نكون كائن جديد من نوع خوارزمية تشفير معينة ونجد التشفير لأي بيانات نريدها   VB.NET CODEImports System.Security.Cryptography  هذه جزء من خوارزميات الموجودة ضمن هذه المكتبة         Hash And MAC هي خوارزميات يتأكد المستلم ان الرسالة المرسلة إليه لم يتم التلاعب بهَ خلال فترة انتقالها إليه من المرسل  أي التأكد من مصداقية وصول البيانات .اي يرسل رسالة وعند المستلم يتأكد ان الرسالة المستلمة هي نفسها الرسالة المرسلة ! إذن هي ليست خوارزميات تشفير إنما خوارزميات تأكد سلامة وصول بيانات لذالك ليس لها طرق فك تشفير تستخدم في كلمات مرور الحواسيب وفي ملفات التورنت للتأكد من وصول الملفات كاملة لأنه مثلا عند تنزيل أي ملف من الانترنت أي خلل في تنزيل ملف لا يعمل عند المستلم لذالك يجب ان يقوم الخادم باستخراج Hash من الملف وإرساله مع الملف والشخص الذي يحمل الملف عندما يكتمل تحميله يستخرج Hash للملف ويقارنه مع المرسل من قبل الخادم فإذا كان نفسه فالملف سليم وإلا الملف تالف .       تصل الحرب عند مرحلة انه لا يريد يقطع إرسال الرسالة أو انه حتى إذا قراها وفك شفرتها  فلن يغير شيء من مسار العملية المطلوب تنفيذها  فيحاول أن يغير مسار العملية المراد تنفيذها بتوصيل الرسالة للمستلم لكن بصيغة جديدة  أو انه يعرف أن توصيل الرسالة مع إجراء بعض التغيرات عليها أفضل من قطعها فيعترض الرسالة ويغير عليها ويرسلها فلمستلم يستلم رسالة متغيرة وينفذها فقد ينفذ العمليات التالية 1.    أما انه يعدل على الرسالة 2.    او يؤثر على ترتيب البيانات أما يحذف او يضيف او يعيد ترتيب 3.    او يؤخر او يعيد إرسال الرسالة مثال : رسالة إلى محمد (اذهب  اقتل احمد) معترض يعرف ان محمد سوف  يقتل احمد وهو لا يستطيع ان  يوقف مسار العملية أي لا يستطيع ان يمنعه من قتله لأنه مثلا في مكان بعيد عن القاتل  لا يستطيع ان يصل إليه لذالك سوف يغير الرسالة ويجعلها  (اذهب اقتل صالح) فلن يقتل  احمد قتل  صالح ونفذ ضربة المعترض ونجا الهدف ؟ •    هذه العمليات التعديل على البيانات تحدث بسهولة في البث الجماعي Broadcast يعني سهولة شخص واحد يستلم رسالة ويعيد  يبثها للجميع بصيغة ثانية فيغير العمل عليهم     خوارزمية MD5 هي إحدى خوارزميات Hash  تكون  من الرسالة المتغيرة التي نحن نريد إرسالها  مفتاح تابت  طوله 128 bit (16 byte  )  كما في الشكل  خطوات العمل مع خوارزمية MD5 1.    في شكل (1) جزء رقم (1) تقسم البيانات على شكل Block كل واحد حجمه 512bit  حيث L  يمثل عدد Block  كما في الشكل بالأسفل مقسم  إلى ثلاثة مقاطع  حيث •    الجزء الأول message يمثل بيانات الرسالة بعد تحويلها الى النظام الثنائي •    والجزء الثاني padding وضيفته إذا لم تكفي  bitsالخاص بالرسالة لي Block   وتبقى بعض bits  ضمن 512 bit داخل احد Block   فارغة تملئ  bits فارغة بواحد (1) ويليه أصفار بقدر bits الفارغة ؟ في Block الأخير نستخدم فقط bit   448  ويبقى bit    64   الأخير لخزن طول الرسالة أي لخزن عدد bits الخاص بالرسالة داخل اخر 64 bit . لحساب عدد bits الواجب إضافتها الى الرسالة نستخدم المعادلة التالية A       = عدد bits رسالة حقيقية / 512      B =الجزء ألكسري (A)*512      bits مضافة=448-  B •    الجزء الثالث message Length يمثل طول bits الرسالة الحقيقية ونحن هنا حجز لها 64 bit من اخر Block في الرسالة لنخزن فيه طول الرسالة .إذا   كانت البيانات عبارة عن Block  واحد تخزن طول البيانات في 64 bit  الأخير أما إذا كانت أكثر من Block تخزن طول البيانات في أخر 64 bit في نهاية Block الأخير(ويعتبر هذا جزء من Block bit الخاص بالرسالة( .واستخدمنا هنا 64 bit لتمثيل طول الرسالة أي إننا نستطيع ان نشفر رسالة  بخوارزمية MD5 طولها 2^64                                                                         شكل (2) كما مبين في الشكل (2) الرسالة اذا كانت طولها أكثر من 512 bit تقسم الى Block كل واحد حجمه 512 bit بالأسماء التالية (y0,y1,yq,yl-1) وكل Block يدخل على HMD5 واحد . مثال : إدخال رسالة محتواها (hi) لاحظ انه حولها الى النظام الثنائي بالصيغة التالية (01101000 01101001)   نلاحظ ان البيانات حجمها 16bit لذالك لكي يجعلها Block يجب ان تصل عددها الى 448bit لذالك سيضيف 1bit قيمته واحد و431bit قيمته صفرالى نهاية السلسلة       و 64bit البقية تمثل طول الرسالة الحقيقية بصيغة النظام الثنائي لاحظها تحتها خط (وهي طولها 16 bit) (0000000000000000000000000000000000000000000000000000000000010000)  .حتى يصبح طول البيانات الكلي 512bit       2.    في شكل (1) جزء رقم (2) او شكل(3)  وهي مجموعة عمليات تجري ضمن كل HMD5 هذا الجزء مقسم إلى أربع ROUND كل واحدة منها تنفذ  عملياتها   16 مرة سوف نشرح على جزء واحد و لمرة واحدة والبقية نفسها تكرر لكن على البيانات المحدثة الجديدة  حيث Yq : يمثل 512 bit الخاص ب  Block بيانات رسالة   معينة  حيث يقسم الى 16 block كل واحد بحجم 32 bit  كلها تمرر على جميع ROUND الأربعة وهي ثابتة لا تتغير خلال 16 مرة تنفيذ داخل كل ROUND ضمن HMD5 الواحد لأنها تمثل بيانات رسالة معينة لكنها تتغير  في HMD5 التالي لأنها بيانات block أخر ضمن الرسالة والبيانات الناتجة لكل من (A,B,C,D) من هذا HMD5 تنتقل عبر CV الى CV1 التالي شاهد شكل (1)      ناتج الجمع هنا  هو mod 2^32 (A,B,C,D) هي  أربعة  REGISTER حجمها الكلي 128 bit  كل واحد حجمه  32 bit مخزن  فيها قيم أولية   وتتحدث ضمن ROUND الواحد 16 مرة وبعدها الناتج ROUND ينتقل الى ROUND التالي وعندما ينتهي من الأربعة ينتقل الى HMD5 التالي. هذه القيم الأولية بالنظام السادس عشري   A = 67452301B = EFCDAB89C = 98BADCFED = 10325476    T : هي قيم بالرادين تستخدم لتعقيد التشفير تحضر وفق المعادلة التالية   i=1:64; x= abs(sin(i))* 2^32      أي نكون مصفوفة T  تبدأ من 1 الى64 وفق المعادلة أعلاه . حيث تحول هذه البيانات الى نظام Hex حيث كل ROUND يأخذ جزء منها توضيح :-    ROUND1 الأول يأخذ من  T[1—16] ROUND2 الثاني يأخذ من  T[17—32] ROUND3 الثالث يأخذ من  T[33—48] ROUND4 الرابع يأخذ من  T[49—64]           3.    شكل  (4) هي العمليات التي ستجري 16 مرة ضمن كل ROUND لاحظ شكل (1)                                                              شكل (4)   CLS:  هي circular left shift   أي تدوير مع s bit مقدار التدوير نحن نحدده مرة واحدة او اكثر مثال : 00110  لو أزحناها بمقدار 2 من اليسار إلى اليمين ستصبح النتيجة 11000   g : هي معادلة الدوال (F,G,H,I)  وهي عند كل ROUND  لها معادلة مختلفة مثال: عند ROUND1  الخاص F   تكون       g=F(b,c,d)=(b and  c)Or(Not( and d).    وهي دوال Boolean تحضر وفق المعادلات التالية       g=F(b,c,d)=(b and  c)Or(Not( and d).g=G(b,c,d)=(b and c)Or(b and Not(d)).g=H(b,c,d)=(b  Xor  c  Xor  d).g=I(b,c,d)=c Xor (b Or  Not(d))       X[k  : هي بيانات رسالة لكل block الذي كان يحتوي على 512 bit  قسمة الى 16 block كل     واحد بحجم 32 bit   تشفير الخوارزمية بلغة VB.NET   تنتج هذه الخوارزمية مفتاح طوله 128 bit (16 byte  )  .المثال التالي يشفر أي نص او ملف ( صورة او صوت او مقطع فيديو او أي نوع اخر من الملفات) بخوارزمية MD5   بداية نبني دالة تستقبل النص او الملف المراد تشفيره بصيغة Byte وتعيد لنا MD5 Hash الخاص بهذا النص بكل سهولة حيث نعرف داخل هذه الدالة متغير من نوع MD5  جديد ونكونه وبعده نعمل ComputeHash للبيانات المستلمة  لحساب Hash لها وبعدها نحولها اللى بينات  من Byte  الى  صيغة HEX   VB.NET CODEPublic Function GetMD5Data(ByVal data As Byte()) As String'create new instance of md5Dim md5a As MD5 = MD5.Create()'convert the input text to array of bytesDim hashData As Byte() = md5a.ComputeHash(data)'create new instance of StringBuilder to save hashed dataDim returnValue As New StringBuilder()'loop for each byte and add it to StringBuilderFor i As Integer = 0 To hashData.Length - 1returnValue.Append(hashData(i).ToString("x2"))Next' return hexadecimal stringReturn returnValue.ToString()End Function  في زر (FIND MD5) نحول النص الذي نكتبه الى Byte ونرسله الى الدالة لكي تعيد لنا Hash له لنستعرض نتيجتها بالنص الثاني ونعرض البيانات ايضاً داخل ListBox   VB.NET CODETextBox2.Text = GetMD5Data(Encoding.[Default].GetBytes(TextBox1.Text))        ListBox1.Items.Clear()        For i = 0 To Len(TextBox2.Text) - 2 Step 2            ListBox1.Items.Add(TextBox2.Text(i) & TextBox2.Text(i + 1))        Next    وفي زر (تشفير ملفات) نتصف ملفات من الحاسبة وبعدها نحولها الى Byte ونرسلها الى الدالة لكي تعيد Hash  لها   VB.NET CODE   'read file and find it md5Dim op As New OpenFileDialogop.ShowDialog()Dim fData As Byte() = File.ReadAllBytes(op.FileName)TextBox2.Text = GetMD5Data(fData)ListBox1.Items.Clear()For i = 0 To Len(TextBox2.Text) - 2 Step 2ListBox1.Items.Add(TextBox2.Text(i) & TextBox2.Text(i + 1))Next    نستخدم   الدالة  التالية عند المستلم للتأكد ان النص المستلم هو نفسه المرسل وذالك بمقارنة المفتاح المرسل مع المفتاح الناتج من الرسالة المستلمة   VB.NET CODEFunction ValidateMD5Data(ByVal inputData As Byte(), ByVal storedHashData As String) As Boolean'hash input text and save it string variableDim getHashInputData As String = GetMD5Data(inputData)If String.Equals(getHashInputData, storedHashData) ThenReturn TrueElseReturn FalseEnd If End Function      خوارزمية Secure Hash Algorithm(SHA)    هي إحدى خوارزميات Hash تقوم بإيجاد سلسلة ثابتة من أي نص أو ملف توجد عدة أنواع منها SHA1: تنتج هذه الخوارزمية مفتاح طوله 160 bit (20 byte  ) SHA512: تنتج هذه الخوارزمية مفتاح طوله 512 bit (64 byte  ) من أي رسالة او ملف مهما كان طوله وعدد من الأنواع SHA الأخرى كما نرها بالشكل (4) بالأسفل وخاصية كل نوع سوف نشرح بالتفصيل طريقة عمل  SHA512 المبينة بالشكل (5)                                                                            شكل  (5)   في الشكل(5) يبين لك طريقة عمل SHA512 وقمت بتقسيمها الى أربعة اجزاء لكل يسهل فهمها وسوف اشرح كل جزء بالتفصيل جزء رقم (1) نعرف ان SHA512 تستقبل أي طول من البيانات وتجد له  HASH طوله 512 bit في شكل  (6)  يقسم الرسالة الى Block كل واحد حجمه  1024 bit واخر 128 bit في اخير Block يكون محجوز  لطول البيانات الحقيقية أي تستطيع هذه الخوارزمية ان تجد HASH لبيانات أقصى حد لطولها 2^128 والبتات Bit التي تبقى فارغة بين اخر 128 bit والبيانات الحقيقية للرسالة بعد تحويلها الى binary نعمل لها padding أي ندخل رقم واحد ويتبعه عدد من الاصفار حتى نملئ bits الفارغة. وان اخر Block يتقبل فقط  896 bit لان كما قلنا اخر 128 bit في اخر Block تكون محجوزة لطول الرسالة الحقيقية بصيغة نظام ثنائي                                                                                              شكل  (6)     حيث iv=H0 يمثل  Registers الثمانية (A,B,C,D,E,F,G,H) كل واحد حجمه 64 bit مجموعهم  هو 512 bit  الذي سيمثل في النهاية Hash الخاص بالرسالة .وهذه القيم الأولية المخزنة داخل Registers                                                                      الجزء رقم (2) الذي يمثل الجزء رقم2  في شكل (5) هو حرف (F) في الجزء رقم1 .حيث يتكرر نفس عملياته مع كل Block لذالك سوف نشرح على Block واحد والبقية نفس الشيء. يمثل شكل (7)    العمليات التي ستجري على كل Block  من الرسالة الحقيقية لينتج مفتاح طولها 512 bit مخزن في (A,B,C,D,E,F,G,H)  ويعتبر كمدخل  للعمليات على  Block   التالي   اذا كانت البيانات اكثر من Block وكما مبين في الشكل(7)  او تعتبر النتيجة النهائية اذا كانت البيانات عبارة عن Block  واحد . وان كل (F)  مقسم الى 80 Round كل واحد تنفذ العمليات في داخله مره واحد (جزء رقم4 في شكل(5) يمثل العمليات التي ستجري ضمن كل Round)                                                                                شكل  (7)     في شكل (7) كل Round  من 80 يدخل عليه قيمة K معين  بين (K0-K79)  وهي قيم ثابتة مكون من 64 bit  تأخذ من الجدول التالي   الجزء رقم (3)   كما نلاحظ ان في شكل  (7) كل Round يدخل عليه قيمة من بيانات Block طولها 64 bit وان طول Block  الواحد هو  1024 bit  لذالك يقسم (1024) الى  16 Block كل واحد حجمه 64 bit ممثلا (W0-W15)  ويدخل على اول  16 Round                                                                                   شكل  (8)     وبقية Round تأخذ Wt  وفق المعادلة التالية   جزء رقم (4):  جزء رقم4 في شكل(5) يمثل العمليات التي ستجري ضمن كل Round ليتم من خلا لها التحديث على قيم Registers التي ستعتبر القيم المحدثة كمدخل Round التالي وفي اخر Round تعتبر Hash الخاص بالرسالة اذا كانت الرسالة من Block  واحد وخلافه تعتبر مدخل لبيانات Registers في Block  التالي                                                                        شكل  (9) Wt: يمثل 64 bit  من بيانات Block تم شرح طريقة تحضيرها لكل Round سابقا Kt  : وهي قيم ثابتة مكون من  64 bit  تأخذ من الجدول تم شرحها سابقا     برمجة الخوارزميات SHA1: تنتج هذه الخوارزمية مفتاح طوله 160 bit (20 byte  )     VB.NET CODEFunction GetSHA1Data(ByVal data As Byte()) As String'create new instance of md5Dim sha As SHA1 = SHA1.Create()'convert the input text to array of bytesDim hashData As Byte() = sha.ComputeHash(data)'create new instance of StringBuilder to save hashed dataDim returns As New StringBuilder()'loop for each byte and add it to StringBuilderFor i As Integer = 0 To hashData.Length - 1returns.Append(hashData(i).ToString("x2"))Next' return hexadecimal stringReturn returns.ToString()End Function      SHA512: تنتج هذه الخوارزمية مفتاح طوله 512 bit (64 byte  )                 بناء برنامج تشفير SHA512         VB.NET CODEFunction GetSHA512Data(ByVal data As Byte()) As String'create new instance of md5Dim sha As SHA512 = SHA512.Create()'convert the input text to array of bytesDim hashData As Byte() = sha.ComputeHash(data)'create new instance of StringBuilder to save hashed dataDim returns As New StringBuilder()'loop for each byte and add it to StringBuilderFor i As Integer = 0 To hashData.Length - 1returns.Append(hashData(i).ToString("x2"))Next' return hexadecimal stringReturn returns.ToString()End Function  الشرح مفصل بالمرفقات هنا بالمقالة وضعت الشرح بشكل مختصر   تحميل شرح خوارزمية خطوة خطوة مع كود هنا http://www.4shared.com/office/51z4zQIY/_MD5SAHHMAC__221.html تحميل المثال Code http://www.mediafire.com/?sw1y2x63pn7qcb7   مدونتي http://hussienahmmed.blogspot.com/
  9. السلام عليكم ورحمة الله وبركاته  أهلاً بكم أحبتي رواد الفريق العربي للبرمجة لدي سؤال : هل بالامكان جعل مربع قائمة يتحدث فور ضغط زر تكرار السجل ؟ مثال مرفق أريد طريقة تحديث مربع القائمة (co1) بعد الضغط على زر ( تكرار السجل ) علماً بأن مربع القائمة (co1) في النموذج الرئيسي ( GD1 ) وزر تكرار السجل في النموذج الفرعي ( GD2 ) ياليت تكتب الطريقة والاكواد حتى نتعلم ولو طبقت على المرفق افضل حتى نستخرجها بانفسنا ,, لكم ودي وشوقي واحترامي ,, Database511.rar