الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهي احسن طريقة لغلق البرنامج بعد الانتهاء منه

بدأه KHALED BIN WALEED في 20 فبراير 2008 · 9 رد · 1,450 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الاعزاء

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

والف شكر مقدما

#2

اخي الفاضل

السلام عليكم ورحمة الله وبركاته

ياريت يكون السؤال منطقيا وبالعقل بارك الله بك

لأننا لم نفهم ما هو المقصود من هذا السؤال العام حيث تدخل فيه عدة اجابات

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

لذا اتمنى ان توضح المقصود فهل تقصد حماية ام عدم تعديل على البيانات بعد الإدخال بعد اغلاق البرنامج ولكن من الممكن اضافة بيانات جديده

#3
zahrah كتب:
اخي الفاضل

السلام عليكم ورحمة الله وبركاته

ياريت يكون السؤال منطقيا وبالعقل بارك الله بك

لأننا لم نفهم ما هو المقصود من هذا السؤال العام حيث تدخل فيه عدة اجابات

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

لذا اتمنى ان توضح المقصود فهل تقصد حماية ام عدم تعديل على البيانات بعد الإدخال بعد اغلاق البرنامج ولكن من الممكن اضافة بيانات جديده

استاذتنا زهرة حفظها الله *** والله عندك حق اسهل طريقة حذف البرنامج حفظك الله والله رد فى منتهي الذكاء :thumb_up: على كلا انا اسف فى عدم التوضيح

***************************************

هل هناك طريقة عند الانتهاء من عمل برنامج بقاعدة بيانات اكسس و تم عمل عدم امكانية الفتح باستخدام الشفت ( يمكن الغائها) و تحويل البرنامج الى MDE و عمل كلمة سر لاكواد البرمجة ( يمكن كسرها ) هل هذا كافي لمنع اى مستخدم فى فتح قاعدة البيانات

يعني البرنامج يكون زي ملف exe فى حال تنفيذة باستخدام فجول بيسك

ارجوا ان اكون شرحة بطريقة اوضح

شكرا على مشاركتكم

#4
gocando كتب:
هل هناك طريقة عند الانتهاء من عمل برنامج بقاعدة بيانات اكسس و تم عمل عدم امكانية الفتح باستخدام الشفت ( يمكن الغائها) و تحويل البرنامج الى MDE و عمل كلمة سر لاكواد البرمجة ( يمكن كسرها ) هل هذا كافي لمنع اى مستخدم فى فتح قاعدة البيانات

يعني البرنامج يكون زي ملف exe فى حال تنفيذة باستخدام فجول بيسك

ارجوا ان اكون شرحة بطريقة اوضح

شكرا على مشاركتكم

اخي الفاضل

والله لا اعلم حتى الآن ان جميع من يستخدم قاعدة بيانات اكسيس انه يريد لها حماية مطلقة ولا يريد احدا في العالم يريد ان يطلع على ما بداخلها سواء من اكواد او حتى معاينة تصميم او اي شيء يتعلق بالقاعدة .

لقد ذكرنا مرارا وتكررا ان قاعدة البيانات اكسيس من السهوله بمكان التغلب على جميع طرق حمايتها فلا يوجد بهذا مشكلة حتى لو كانت بصيغة MDE اذا لماذا نتعب انفسنا في هذا المجال مع العلم ان هذا الكلام لا ينطبق على قواعد البيانات اكسيس فقط ولكن هذا الموضوع يسري على جميع البرامج لأنه لا يوجد حماية مطلقة ابدا فكل شيء قابل للكسر عدى البيانات .

هنا النقطة المهمه وهي البيانات الموجوده في قاعدة البيانات نفسها وهي اهم من كل شيء فعندما نقوم بحماية البيانات الخاصة بنا حيث لا يمكن بأي حال من الأحوال الإطلاع على هذه البيانات إلا للشخص المسؤول عن القاعدة ففي هذه اللحظة نحتاج الى تشفير البيانات في الجداول حيث ان مفتاح التشفير الأساسي سيكون مع الشخص المسؤول فقط ولا يمكن ان يطلع احدا عليه في هذه اللحظة نقول ان الحماية شبه كامله ولكن ليست 100 % فقد يمكن ان يتم الحصول على المفتاح الأساسي للتشفير بعدة طرق مثل عدم مبالاة المسؤول بهذا الرقم او نسيانه سهوا مع قاعدة البيانات قبل تشفيرها .

لذا بارك الله بك لو وضعت على قاعدة البيانات ( لاحظ معي انني لم اقل البيانات ولكن القاعدة نفسها ) كل انواع الحمايات الموجوده في العالم كله فمن السهولة فك حمايتها وهذه حقيقة مسلمة ولا يوجد بها اي جدال لذا فمن الأولى حماية البيانات وليس القاعدة لأنه بالإمكان استيراد الجداول التي بها البيانات اذا لم تكن هذه البيانات مشفره ومن ثم القيام بعمل قاعدة بيانات جديده مفتوحة المصدر وليس عليها اي حماية وقد تكون افضل من قاعدة بياناتك التي احرقت دمك من اجل ان تضع لها كل الحمايات .

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

post-15367-1203603098_thumb.gif

وارغب منك ان تقوم بإعادة الكلمات الى وضعها الطبيعي بنص عربي وحاول في الموضوع وسأمنحك وقت كافي لمدة 1000000 سنه و يمكنك الإستعانة بجميع خبراء التشفير في العالم وجميع المبرمجين وجميع الهاكرز وايضا يمكنك ارساله الى وكالة ناسا لمساعدتك في فك هذه الطلاسم والحروف المشفرة . مع العلم انني استطيع اعادة هذه الكلمات المشفرة خلال ثانية واحدة لأن المفتاح الأساسي الخاص بالتشفير موجود عندي فقط

zahrahChallenge.rar

#5
zahrah كتب:
اخي الفاضل

والله لا اعلم حتى الآن ان جميع من يستخدم قاعدة بيانات اكسيس انه يريد لها حماية مطلقة ولا يريد احدا في العالم يريد ان يطلع على ما بداخلها سواء من اكواد او حتى معاينة تصميم او اي شيء يتعلق بالقاعدة .

لقد ذكرنا مرارا وتكررا ان قاعدة البيانات اكسيس من السهوله بمكان التغلب على جميع طرق حمايتها فلا يوجد بهذا مشكلة حتى لو كانت بصيغة MDE اذا لماذا نتعب انفسنا في هذا المجال مع العلم ان هذا الكلام لا ينطبق على قواعد البيانات اكسيس فقط ولكن هذا الموضوع يسري على جميع البرامج لأنه لا يوجد حماية مطلقة ابدا فكل شيء قابل للكسر عدى البيانات .

هنا النقطة المهمه وهي البيانات الموجوده في قاعدة البيانات نفسها وهي اهم من كل شيء فعندما نقوم بحماية البيانات الخاصة بنا حيث لا يمكن بأي حال من الأحوال الإطلاع على هذه البيانات إلا للشخص المسؤول عن القاعدة ففي هذه اللحظة نحتاج الى تشفير البيانات في الجداول حيث ان مفتاح التشفير الأساسي سيكون مع الشخص المسؤول فقط ولا يمكن ان يطلع احدا عليه في هذه اللحظة نقول ان الحماية شبه كامله ولكن ليست 100 % فقد يمكن ان يتم الحصول على المفتاح الأساسي للتشفير بعدة طرق مثل عدم مبالاة المسؤول بهذا الرقم او نسيانه سهوا مع قاعدة البيانات قبل تشفيرها .

لذا بارك الله بك لو وضعت على قاعدة البيانات ( لاحظ معي انني لم اقل البيانات ولكن القاعدة نفسها ) كل انواع الحمايات الموجوده في العالم كله فمن السهولة فك حمايتها وهذه حقيقة مسلمة ولا يوجد بها اي جدال لذا فمن الأولى حماية البيانات وليس القاعدة لأنه بالإمكان استيراد الجداول التي بها البيانات اذا لم تكن هذه البيانات مشفره ومن ثم القيام بعمل قاعدة بيانات جديده مفتوحة المصدر وليس عليها اي حماية وقد تكون افضل من قاعدة بياناتك التي احرقت دمك من اجل ان تضع لها كل الحمايات .

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

post-15367-1203603098_thumb.gif

وارغب منك ان تقوم بإعادة الكلمات الى وضعها الطبيعي بنص عربي وحاول في الموضوع وسأمنحك وقت كافي لمدة 1000000 سنه و يمكنك الإستعانة بجميع خبراء التشفير في العالم وجميع المبرمجين وجميع الهاكرز وايضا يمكنك ارساله الى وكالة ناسا لمساعدتك في فك هذه الطلاسم والحروف المشفرة . مع العلم انني استطيع اعادة هذه الكلمات المشفرة خلال ثانية واحدة لأن المفتاح الأساسي الخاص بالتشفير موجود عندي فقط

zahrahChallenge.rar

(وَفَوْقَ كُلِّ ذِي عِلْمٍ عَلِيمٌ) (يوسف : 76 )

#6

أخت زهرة ... بصراحة فكرتك للتشفير جداً قوية وجديدة من نوعها..

ولي محاولة بمعرفة السر.. أرجو الاطلاع

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

المثال:

أ =$

ب=&

ت=@

ث=☻

ج=☺

والفكرة الثانية أنك قمتي باستخدام أحد التكويدات الدولية الأخرى..

أرجو إذا هي كذلك أو غير ذلك تنويرنا.. لأن الفكرة أعجبتني

لك تحياتي وللأخ صاحب الفكرة

#7
dim106 كتب:
أخت زهرة ... بصراحة فكرتك للتشفير جداً قوية وجديدة من نوعها..

ولي محاولة بمعرفة السر.. أرجو الاطلاع

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

المثال:

أ =$

ب=&

ت=@

ث=☻

ج=☺

والفكرة الثانية أنك قمتي باستخدام أحد التكويدات الدولية الأخرى..

أرجو إذا هي كذلك أو غير ذلك تنويرنا.. لأن الفكرة أعجبتني

لك تحياتي وللأخ صاحب الفكرة

اخي الفاضل

لا الفكره الأولى ولا الفكره الثانية ولا يوجد اي جداول لترميز الحروف

هذه بارك الله بك خوارزمية تشفير معقده جدا ولا يمكن فك التشفير إلا من خلال معرفة المفتاح الأساسي وبالأمكان فك هذا التشفير خلال ثانية واحده بعد وضع المفتاح الأساسي لكود التشفير

فلا تتعب نفسك بارك الله بك .

#8
zahrah كتب:
اخي الفاضل

لا الفكره الأولى ولا الفكره الثانية ولا يوجد اي جداول لترميز الحروف

هذه بارك الله بك خوارزمية تشفير معقده جدا ولا يمكن فك التشفير إلا من خلال معرفة المفتاح الأساسي وبالأمكان فك هذا التشفير خلال ثانية واحده بعد وضع المفتاح الأساسي لكود التشفير

فلا تتعب نفسك بارك الله بك .

لماذا هل محاولة تعلم التشفير للبيانات يجب ان تكون احترافية واحتكارية اجد في جوانب طرح الاعضاء بعض الغموض في المنتدى حسب وجهة نظري نحتاج لكل شيء وزرت الكثير من المواضيع الخاصة بتشفير البيانات واجد تحفظ من المحترفين صحيح يجب ان تكون هناك خبرة في الهندسة العكسية ولكن لماذا لايأخذ الموضوع بالجدية الكبيرة ويطرح لمساعدة الجميع ولو حتى خطوة خطوة لماذا نبحث في المنتديات الاجنبية ونجد احتدام للنقاش حول كل المواضيع ولكن نجد تحفظ في منتدانا على هذا الموضوع فقط الذي لديه خبرة ياريت ينورنه لست هنا احاول التوجيه فاني لم اصل الى هذه المرحلة ولكني اقرا تقريبا البسيط والمعقد واجد بعض الردود تشعرني بهيبة خاصة لبعض المواضيع ولكن حينما اتصفحها واحللها اجدها بسيطة حتى تكون الاكسس سهلة ومحمية بنفس الوقت نريد منكم بكل اخوية ان تساعدونا لنتعلم وقول الرسول محمد (ص) " من علمني حرفا ملكني عبدا " ليكن شعار لنا نحن المبتدئين واتصور اننا لن نتراجع ولو لمرة واحدة عن احترام الفكر الكبير لاساتذتنا المحترفين وشكرا جزيلا للجميع

الالف ميل تبدأ بخطوة

#9
محمد الجابري كتب:
لماذا هل محاولة تعلم التشفير للبيانات يجب ان تكون احترافية واحتكارية اجد في جوانب طرح الاعضاء بعض الغموض في المنتدى حسب وجهة نظري نحتاج لكل شيء وزرت الكثير من المواضيع الخاصة بتشفير البيانات واجد تحفظ من المحترفين صحيح يجب ان تكون هناك خبرة في الهندسة العكسية ولكن لماذا لايأخذ الموضوع بالجدية الكبيرة ويطرح لمساعدة الجميع ولو حتى خطوة خطوة لماذا نبحث في المنتديات الاجنبية ونجد احتدام للنقاش حول كل المواضيع ولكن نجد تحفظ في منتدانا على هذا الموضوع فقط الذي لديه خبرة ياريت ينورنه لست هنا احاول التوجيه فاني لم اصل الى هذه المرحلة ولكني اقرا تقريبا البسيط والمعقد واجد بعض الردود تشعرني بهيبة خاصة لبعض المواضيع ولكن حينما اتصفحها واحللها اجدها بسيطة حتى تكون الاكسس سهلة ومحمية بنفس الوقت نريد منكم بكل اخوية ان تساعدونا لنتعلم وقول الرسول محمد (ص) " من علمني حرفا ملكني عبدا " ليكن شعار لنا نحن المبتدئين واتصور اننا لن نتراجع ولو لمرة واحدة عن احترام الفكر الكبير لاساتذتنا المحترفين وشكرا جزيلا للجميع

اخي الفاضل محمد الجابري

كنت اتحاشى دائما وابدا التعليق على مواضيع التشفير والترميز في جميع المشاركات حتى لا ندخل في متاهات نحن في غنى عنها وليست اساسا من اختصاص منتدى الأكسيس فعلم التشفير مجاله واسع وكبير وبحوثه وقواعده الأساسية معقده جدا وتحتاج الى سنوات حتى يكون الشخص ملم بها او حتى ببعض منها .

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

في كثيرا من الأحوال يعلم الله اني انزل بالمستوى الى اقل درجة ممكنه لكي يفهم الأعضاء اثناء الشرح فكل الأعضاء ليسوا بسواء فهناك المحترف وهناك المتوسط وهناك المبتدىء لهذا احاول الشرح لبعض الأمور التي ارى ان فيها فائدة بشيء من التبسيط مع اعطاء كميات كبيره من الأمثله لكي تكون الصوره واضحه لكل من اراد ان يتعلم ويكتسب خبره مع مرور الأيام .

حسنا اخي الكريم هل راجعت هذا الموضوع وقرأته جيدا

/index.php?showtopic=135939

لقد تم فيه شرح نبذة مختصره عن التشفير وانواعه

واذا رغبت في المزيد ايضا فهذا الرابط قد يفيدك

/index.php?showtopic=110236

مع العلم ان مثل هذه المواضيع ليس لنا علاقة بها في منتدى الأكسيس ولكن احببنا ان نجيب الأخوة ونعطيهم بعض الإيضاحات عن علم التشفير وطرق استخدامه في حدود ضيقه ولكن من اراد ان يتعلم ويبحر في هذا العلم الخاص فليبحث وليقرأ بنفسه فليس هنا اي مجال لدوخة الرأس لتعليم الأعضاء ( أ - ب - ت ) البرمجه و كتابة الأكواد والتشفير وفك التشفير والترميز والخوارزميات لأن هذا منتدى برنامج الأكسيس فقط وكل ما يتعلق به من مشاكل وحلول .

قد يقول قائل اننا بهذا الكلام لا نريد ان نخبر احدا بما لدينا من علوم ولكن اقول اذا لم يكن لديك اي خلفيه عن موضوع ما وليس لديك سابق معرفه عن ما نتكلم عنه او ما يتم طرحه فبالتالي سوف تتعب انت اولا وثانيا سوف تتعب من حولك عن امور انت تجهلها . لهذا اترك الأمور الى وقتها حتى تكون لديك الخلفية الناسبة سواء من خلال قراءة الكتب ( وهي متوفره بكثره ) او زيارة منتديات الخوارزميات لتتعرف على بعض الأساليب البسيطه ومن ثم ستصل إن شاء الله تعالى الى ما تريد ولكن خطوه خطوه .

فمثلا لو وضعت لك مثل هذا الكود الخاص بالترميز بطريقة MD5 ماذا ستفهم منه

Private lngTrack As Long
Private arrLongConversion(4) As Long
Private arrSplit64(63) As Byte

Private Const OFFSET_4 = 4294967296#
Private Const MAXINT_4 = 2147483647

Private Const S11 = 7
Private Const S12 = 12
Private Const S13 = 17
Private Const S14 = 22
Private Const S21 = 5
Private Const S22 = 9
Private Const S23 = 14
Private Const S24 = 20
Private Const S31 = 4
Private Const S32 = 11
Private Const S33 = 16
Private Const S34 = 23
Private Const S41 = 6
Private Const S42 = 10
Private Const S43 = 15
Private Const S44 = 21

Private Function MD5Round(strRound As String, a As Long, b As Long, C As Long, d As Long, x As Long, S As Long, ac As Long) As Long
	Select Case strRound
		Case Is = "FF"
			a = MD5LongAdd4(a, (b And C) Or (Not (b) And d), x, ac)
			a = MD5Rotate(a, S)
			a = MD5LongAdd(a, b)
		Case Is = "GG"
			a = MD5LongAdd4(a, (b And d) Or (C And Not (d)), x, ac)
			a = MD5Rotate(a, S)
			a = MD5LongAdd(a, b)
		Case Is = "HH"
			a = MD5LongAdd4(a, b Xor C Xor d, x, ac)
			a = MD5Rotate(a, S)
			a = MD5LongAdd(a, b)
		Case Is = "II"
			a = MD5LongAdd4(a, C Xor (b Or Not (d)), x, ac)
			a = MD5Rotate(a, S)
			a = MD5LongAdd(a, b)
	End Select
End Function

Private Function MD5Rotate(lngValue As Long, lngBits As Long) As Long
Dim lngSign As Long
Dim lngI As Long
	lngBits = (lngBits Mod 32)

	If lngBits = 0 Then MD5Rotate = lngValue: Exit Function

	For lngI = 1 To lngBits
		lngSign = lngValue And &HC0000000
		lngValue = (lngValue And &H3FFFFFFF) * 2
		lngValue = lngValue Or ((lngSign < 0) And 1) Or (CBool(lngSign And &H40000000) And &H80000000)
	Next

	MD5Rotate = lngValue
End Function

Private Function TRID() As String

	Dim sngNum As Single, lngnum As Long
	Dim strResult As String

	sngNum = Rnd(2147483648#)
	strResult = CStr(sngNum)

	strResult = Replace(strResult, "0.", "")
	strResult = Replace(strResult, ".", "")
	strResult = Replace(strResult, "E-", "")

	TRID = strResult

End Function

Private Function MD564Split(lngLength As Long, bytBuffer() As Byte) As String

	Dim lngBytesTotal As Long, lngBytesToAdd As Long
	Dim intLoop As Integer, intLoop2 As Integer, lngTrace As Long
	Dim intInnerLoop As Integer, intLoop3 As Integer

	lngBytesTotal = lngTrack Mod 64
	lngBytesToAdd = 64 - lngBytesTotal
	lngTrack = (lngTrack + lngLength)

	If lngLength >= lngBytesToAdd Then
		For intLoop = 0 To lngBytesToAdd - 1
			arrSplit64(lngBytesTotal + intLoop) = bytBuffer(intLoop)
		Next intLoop

		MD5Conversion arrSplit64

		lngTrace = (lngLength) Mod 64

		For intLoop2 = lngBytesToAdd To lngLength - intLoop - lngTrace Step 64
			For intInnerLoop = 0 To 63
				arrSplit64(intInnerLoop) = bytBuffer(intLoop2 + intInnerLoop)
			Next intInnerLoop

			MD5Conversion arrSplit64

		Next intLoop2

		lngBytesTotal = 0
	Else

	  intLoop2 = 0

	End If

	For intLoop3 = 0 To lngLength - intLoop2 - 1

		arrSplit64(lngBytesTotal + intLoop3) = bytBuffer(intLoop2 + intLoop3)

	Next intLoop3

End Function

Private Function MD5StringArray(strInput As String) As Byte()

	Dim intLoop As Integer
	Dim bytBuffer() As Byte
	ReDim bytBuffer(Len(strInput))

	For intLoop = 0 To Len(strInput) - 1
		bytBuffer(intLoop) = Asc(Mid(strInput, intLoop + 1, 1))
	Next intLoop

	MD5StringArray = bytBuffer

End Function

Private Sub MD5Conversion(bytBuffer() As Byte)

	Dim x(16) As Long, a As Long
	Dim b As Long, C As Long
	Dim d As Long

	a = arrLongConversion(1)
	b = arrLongConversion(2)
	C = arrLongConversion(3)
	d = arrLongConversion(4)

	MD5Decode 64, x, bytBuffer

	MD5Round "FF", a, b, C, d, x(0), S11, -680876936
	MD5Round "FF", d, a, b, C, x(1), S12, -389564586
	MD5Round "FF", C, d, a, b, x(2), S13, 606105819
	MD5Round "FF", b, C, d, a, x(3), S14, -1044525330
	MD5Round "FF", a, b, C, d, x(4), S11, -176418897
	MD5Round "FF", d, a, b, C, x(5), S12, 1200080426
	MD5Round "FF", C, d, a, b, x(6), S13, -1473231341
	MD5Round "FF", b, C, d, a, x(7), S14, -45705983
	MD5Round "FF", a, b, C, d, x(8), S11, 1770035416
	MD5Round "FF", d, a, b, C, x(9), S12, -1958414417
	MD5Round "FF", C, d, a, b, x(10), S13, -42063
	MD5Round "FF", b, C, d, a, x(11), S14, -1990404162
	MD5Round "FF", a, b, C, d, x(12), S11, 1804603682
	MD5Round "FF", d, a, b, C, x(13), S12, -40341101
	MD5Round "FF", C, d, a, b, x(14), S13, -1502002290
	MD5Round "FF", b, C, d, a, x(15), S14, 1236535329

	MD5Round "GG", a, b, C, d, x(1), S21, -165796510
	MD5Round "GG", d, a, b, C, x(6), S22, -1069501632
	MD5Round "GG", C, d, a, b, x(11), S23, 643717713
	MD5Round "GG", b, C, d, a, x(0), S24, -373897302
	MD5Round "GG", a, b, C, d, x(5), S21, -701558691
	MD5Round "GG", d, a, b, C, x(10), S22, 38016083
	MD5Round "GG", C, d, a, b, x(15), S23, -660478335
	MD5Round "GG", b, C, d, a, x(4), S24, -405537848
	MD5Round "GG", a, b, C, d, x(9), S21, 568446438
	MD5Round "GG", d, a, b, C, x(14), S22, -1019803690
	MD5Round "GG", C, d, a, b, x(3), S23, -187363961
	MD5Round "GG", b, C, d, a, x(8), S24, 1163531501
	MD5Round "GG", a, b, C, d, x(13), S21, -1444681467
	MD5Round "GG", d, a, b, C, x(2), S22, -51403784
	MD5Round "GG", C, d, a, b, x(7), S23, 1735328473
	MD5Round "GG", b, C, d, a, x(12), S24, -1926607734

	MD5Round "HH", a, b, C, d, x(5), S31, -378558
	MD5Round "HH", d, a, b, C, x(8), S32, -2022574463
	MD5Round "HH", C, d, a, b, x(11), S33, 1839030562
	MD5Round "HH", b, C, d, a, x(14), S34, -35309556
	MD5Round "HH", a, b, C, d, x(1), S31, -1530992060
	MD5Round "HH", d, a, b, C, x(4), S32, 1272893353
	MD5Round "HH", C, d, a, b, x(7), S33, -155497632
	MD5Round "HH", b, C, d, a, x(10), S34, -1094730640
	MD5Round "HH", a, b, C, d, x(13), S31, 681279174
	MD5Round "HH", d, a, b, C, x(0), S32, -358537222
	MD5Round "HH", C, d, a, b, x(3), S33, -722521979
	MD5Round "HH", b, C, d, a, x(6), S34, 76029189
	MD5Round "HH", a, b, C, d, x(9), S31, -640364487
	MD5Round "HH", d, a, b, C, x(12), S32, -421815835
	MD5Round "HH", C, d, a, b, x(15), S33, 530742520
	MD5Round "HH", b, C, d, a, x(2), S34, -995338651

	MD5Round "II", a, b, C, d, x(0), S41, -198630844
	MD5Round "II", d, a, b, C, x(7), S42, 1126891415
	MD5Round "II", C, d, a, b, x(14), S43, -1416354905
	MD5Round "II", b, C, d, a, x(5), S44, -57434055
	MD5Round "II", a, b, C, d, x(12), S41, 1700485571
	MD5Round "II", d, a, b, C, x(3), S42, -1894986606
	MD5Round "II", C, d, a, b, x(10), S43, -1051523
	MD5Round "II", b, C, d, a, x(1), S44, -2054922799
	MD5Round "II", a, b, C, d, x(8), S41, 1873313359
	MD5Round "II", d, a, b, C, x(15), S42, -30611744
	MD5Round "II", C, d, a, b, x(6), S43, -1560198380
	MD5Round "II", b, C, d, a, x(13), S44, 1309151649
	MD5Round "II", a, b, C, d, x(4), S41, -145523070
	MD5Round "II", d, a, b, C, x(11), S42, -1120210379
	MD5Round "II", C, d, a, b, x(2), S43, 718787259
	MD5Round "II", b, C, d, a, x(9), S44, -343485551

	arrLongConversion(1) = MD5LongAdd(arrLongConversion(1), a)
	arrLongConversion(2) = MD5LongAdd(arrLongConversion(2), b)
	arrLongConversion(3) = MD5LongAdd(arrLongConversion(3), C)
	arrLongConversion(4) = MD5LongAdd(arrLongConversion(4), d)

End Sub

Private Function MD5LongAdd(lngVal1 As Long, lngVal2 As Long) As Long

	Dim lngHighWord As Long
	Dim lngLowWord As Long
	Dim lngOverflow As Long

	lngLowWord = (lngVal1 And &HFFFF&) + (lngVal2 And &HFFFF&)
	lngOverflow = lngLowWord \ 65536
	lngHighWord = (((lngVal1 And &HFFFF0000) \ 65536) + ((lngVal2 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&

	MD5LongAdd = MD5LongConversion((lngHighWord * 65536#) + (lngLowWord And &HFFFF&))

End Function

Private Function MD5LongAdd4(lngVal1 As Long, lngVal2 As Long, lngVal3 As Long, lngVal4 As Long) As Long

	Dim lngHighWord As Long
	Dim lngLowWord As Long
	Dim lngOverflow As Long

	lngLowWord = (lngVal1 And &HFFFF&) + (lngVal2 And &HFFFF&) + (lngVal3 And &HFFFF&) + (lngVal4 And &HFFFF&)
	lngOverflow = lngLowWord \ 65536
	lngHighWord = (((lngVal1 And &HFFFF0000) \ 65536) + ((lngVal2 And &HFFFF0000) \ 65536) + ((lngVal3 And &HFFFF0000) \ 65536) + ((lngVal4 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&
	MD5LongAdd4 = MD5LongConversion((lngHighWord * 65536#) + (lngLowWord And &HFFFF&))

End Function

Private Sub MD5Decode(intLength As Integer, lngOutBuffer() As Long, bytInBuffer() As Byte)

	Dim intDblIndex As Integer
	Dim intByteIndex As Integer
	Dim dblSum As Double

	intDblIndex = 0

	For intByteIndex = 0 To intLength - 1 Step 4

		dblSum = bytInBuffer(intByteIndex) + bytInBuffer(intByteIndex + 1) * 256# + bytInBuffer(intByteIndex + 2) * 65536# + bytInBuffer(intByteIndex + 3) * 16777216#
		lngOutBuffer(intDblIndex) = MD5LongConversion(dblSum)
		intDblIndex = (intDblIndex + 1)

	Next intByteIndex

End Sub

Private Function MD5LongConversion(dblValue As Double) As Long

	If dblValue < 0 Or dblValue >= OFFSET_4 Then Error 6

	If dblValue <= MAXINT_4 Then
		MD5LongConversion = dblValue
	Else
		MD5LongConversion = dblValue - OFFSET_4
	End If

End Function

Private Sub MD5Finish()
Dim dblBits As Double
Dim arrPadding(72) As Byte
Dim lngBytesBuffered As Long

	arrPadding(0) = &H80
	dblBits = lngTrack * 8

	lngBytesBuffered = lngTrack Mod 64

	If lngBytesBuffered <= 56 Then
		MD564Split (56 - lngBytesBuffered), arrPadding
	Else
		MD564Split (120 - lngTrack), arrPadding
	End If


	arrPadding(0) = MD5LongConversion(dblBits) And &HFF&
	arrPadding(1) = MD5LongConversion(dblBits) \ 256 And &HFF&
	arrPadding(2) = MD5LongConversion(dblBits) \ 65536 And &HFF&
	arrPadding(3) = MD5LongConversion(dblBits) \ 16777216 And &HFF&
	arrPadding(4) = 0
	arrPadding(5) = 0
	arrPadding(6) = 0
	arrPadding(7) = 0

	MD564Split 8, arrPadding
End Sub

Private Function MD5StringChange(lngnum As Long) As String
Dim bytA As Byte
Dim bytB As Byte
Dim bytC As Byte
Dim bytD As Byte
	 bytA = lngnum And &HFF&
	 If bytA < 16 Then
		 MD5StringChange = "0" & Hex(bytA)
	 Else
		 MD5StringChange = Hex(bytA)
	 End If

	 bytB = (lngnum And &HFF00&) \ 256
	 If bytB < 16 Then
		 MD5StringChange = MD5StringChange & "0" & Hex(bytB)
	 Else
		 MD5StringChange = MD5StringChange & Hex(bytB)
	 End If

	 bytC = (lngnum And &HFF0000) \ 65536
	 If bytC < 16 Then
		 MD5StringChange = MD5StringChange & "0" & Hex(bytC)
	 Else
		 MD5StringChange = MD5StringChange & Hex(bytC)
	 End If

	 If lngnum < 0 Then
		 bytD = ((lngnum And &H7F000000) \ 16777216) Or &H80&
	 Else
		 bytD = (lngnum And &HFF000000) \ 16777216
	 End If

	 If bytD < 16 Then
		 MD5StringChange = MD5StringChange & "0" & Hex(bytD)
	 Else
		 MD5StringChange = MD5StringChange & Hex(bytD)
	 End If
End Function

Private Function MD5Value() As String
	MD5Value = LCase(MD5StringChange(arrLongConversion(1)) & MD5StringChange(arrLongConversion(2)) & MD5StringChange(arrLongConversion(3)) & MD5StringChange(arrLongConversion(4)))
End Function

Public Function CalculateMD5(strMessage As String) As String
Dim bytBuffer() As Byte
	bytBuffer = MD5StringArray(strMessage)
	MD5Start
	MD564Split Len(strMessage), bytBuffer
	MD5Finish
	CalculateMD5 = MD5Value
End Function

Private Sub MD5Start()
	lngTrack = 0
	arrLongConversion(1) = MD5LongConversion(1732584193#)
	arrLongConversion(2) = MD5LongConversion(4023233417#)
	arrLongConversion(3) = MD5LongConversion(2562383102#)
	arrLongConversion(4) = MD5LongConversion(271733878#)
End Sub

طبعا لا شيء على الإطلاق وبالتالي سوف تنشف وتزهق وتطلع روح الذي وضع لك الكود الآن لكي تعرف كل صغيره وكبيره في هذا الكود ولماذا وضعت كل هذه الأرقام والرموز ولماذا لم يتم وضع هذا الرمز مكان هذا الرمز وماذا يعني كل رقم او حرف في الكود . في هذه اللحظة اقول لك . الله يسهل عليك ودع الخلق للخالق وتعلم لك كلمتين في الأكسيس تفيدك مستقبلا ودع عنك مثل هذه الأمور التي لن تنفعك في الوقت الراهن .

#10

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

الالف ميل تبدأ بخطوة

مواضيع مشابهة