عبدالله سليمان قام بنشر أكتوبر 22, 2005 قام بنشر أكتوبر 22, 2005 السلام عليكم أقوم حالياً بتصميم قاعدة بيانات مهمة ، وتحتوي على معلومات من المهم عدم تسربها خارج الجهاز . وقد سبق أن قرأت عن طريقة تشفير البيانات في الجداول عن طريق تغيير رقم الاسكي لكل حرف في كل حقل . ولكني أعتقد أن هذه الطريقة سهلة الاكتشاف . فهل لدى رواد المنتدى معلومات عن هذا الموضوع ، وقد بحثت في المنتدى ولم أجد ما يتعلق بهذا الموضوع مباشرة .
عبدالله سليمان قام بنشر أكتوبر 23, 2005 الكاتب قام بنشر أكتوبر 23, 2005 يبدو أني صرفت النظر عن موضوع التشفير لأنه سوف يؤدي إلى مشاكل كثيرة في البحث والاستعلامات .
عبدالله سليمان قام بنشر أكتوبر 25, 2005 الكاتب قام بنشر أكتوبر 25, 2005 هل سأستمر كثيراً في محادثة نفسي :') .... أرجو غير ذلك :@ . يبدو أن ما ذكرته في ردي السابق كان غير صحيح ، فعن طريق دالة التشفير يمكن تجاوز تلك المشاكل . ويبقى احتمال حصول بعض البطء في البحث والاستعلام . وهذا موضوع وجدته محفوظاً لدي عن التشفير منتدى فيجول بيسك العرب الذي لا أدري أين ذهبوا بعد إلغاء الموقع السابق . دروس المبتدئين: كيفية تشفير النصوص والملفات للمبتدئين Posted on 08-03-2002 by الحلبي يتعلق هذا الدرس بكيفية تشفير ملف , حيث سأحاول ان اوضح الطرق المختلفة لتشفير البيانات.والطريقة المستخدمة في هذا الدرس هي طريقة بداية ولكنها ستكون المدخل الاول لفهم طريقة التشفير أولاً يجب معرفة ان اي ملف هو عبارة عن مجموعة من الرموز منها من يمكن إظهاره كالحروف و الارقام ومنها من لايمكن رؤيته على الرغم من كونة موجوداً حيث تظهر على شكل رموز غير مفهومة , في الوقت الحالي يجب التركيز على ان حرف يظهر امامك على لوحة المفاتيح او زر له رمز خاص, مثلاً : -------------------------------------------------------------------------------- A=65 , a=97 , y=121 -------------------------------------------------------------------------------- حيث يسمى هذا النظام ASCII ويرمز لكل زر برقم مختلف حتى ان الاحرف الكبيرة لاتساوي الارقام الصغيرة. ويمكن الحصول على الرمز الخاص بأي حرف من خلال الدالة ASC التي تعطي قيمة الاسكي لاي حرف او رقم , مثلاً : -------------------------------------------------------------------------------- Print Asc(“A”) ‘ يطبع الرقم 65 على الفورم والذي يمثل الرمز الخاص بالحرفA Print Asc(“9”) ‘ يطبع الرقم 59 والذي يمثل الرمز الخاص بالعدد 9 -------------------------------------------------------------------------------- كما ان الدالة Chr() تقوم بعكس العمل تماماً حيث تأخد الرمز وترجع الحرف المناسب : -------------------------------------------------------------------------------- Print Chr(65) ‘ تطبع الحرف A Print Chr(59) ‘ تطبع الرقم 9 -------------------------------------------------------------------------------- بعد ان عرفنا انه يمكن تحويل اي حرف الى كود معين ومن ثم يمكن إرجاع الحرف السابق من الكود التابع له, بقي ان نعرف ان مجال هذة الرموز هو من 0 الى 255 اي انه لايوجد رمزخارج عن هذا المجال, امثله : الرمز التابع للزر إدخال(ENTER) هو 13 كما ان الرمز التابع للزر مسافة (SPACE) هو 32 وكذلك حال باقي الأزرار. يمكن استغلال المعلومات السابقة في عملة التشفير , دعونا نرى مثالاً : إذا كان لدينا الحرف A مثلاً يمكن تشفيره وذلك كالتالي : -------------------------------------------------------------------------------- Text=”A” Text=Chr( Asc(Text)+3 ) ‘ Text = “D” -------------------------------------------------------------------------------- حيث قمنا بتحويل الحرف A الى رمز(65) باستخدام ASC() تم اضفنا العدد 3 الى الرمز وحولنا الرقم الناتج (68) إلى حرف باستخدام الدالة Chr() فكان الناتج هو “D” وبهذة الطريقة فقد قمنا بإخفاء الحرف القديم بحرف آخر بحيث يمكن ببساطة إسترجاع الحرف الحقيقي بعكس الطريقة : -------------------------------------------------------------------------------- Text=”D” Text = Chr ( Asc(Text)-3 ) ‘ Text =”A” -------------------------------------------------------------------------------- وكذلك الحال إذا كان النص اكبر من حرف واحد : -------------------------------------------------------------------------------- Text=”Welcome To Visual Basic” FOR I=1 TO Len(Text) Letter=Mid(Text,I,1) Mid(Text,I,1)=Chr( Asc(Letter)+3 ) NEXT I -------------------------------------------------------------------------------- يقوم المثال السابق بتكرار العملية السابقة على كل حرف وذلك بمعرفة طول النص بواسطة الدالة Len() ومن ثم اخذ النص حرف بعد حرف عن طريق الدالة MID() التي تقص النص في الموقع I بطول حرف واحد ومن ثم تطبيق التحويل السابق على هذا الحرف وبعده الذي يليه حتى آخر النص , وفي الاخير سوف ينتج النص التالي : -------------------------------------------------------------------------------- Text=”Zhofrph#Wr#Ylvxdo#Edvlf” -------------------------------------------------------------------------------- من الواضح ان النص الناتج هو نص غير مفهوم و بذلك يمكن إسترجاع النص اللاصلي كالتالي : -------------------------------------------------------------------------------- Text=”Zhofrph#Wr#Ylvxdo#Edvlf” FOR I=1 TO Len(Text) Letter=Mid(Text,I,1) Mid(Text,I,1)=Chr( Asc(Letter)+3 ) NEXT -------------------------------------------------------------------------------- تبقى الان ان نبين انه يوجد عيب في الامثلة السابقة وهو انه اذا وجد حرف رمزه اكبر من 252 فانه بإضافة 3 الى هذا الرقم سوف نتجاوز المجال المسموح به وهو من 0 الى 255 , كما انك قد تود ان تستخدم رقم آخر غير الثلاثة للتشفير مثل 76 وذلك لزيادة درجة الصعوبة , الطريقة الثلى لتجاوز هذة المشكلة هي استخدام الطريقة التالية : -------------------------------------------------------------------------------- Mid(Text,I,1)=Chr( (Asc(Letter)+3) Mod 256 ) -------------------------------------------------------------------------------- حيث لا يسمح الامر MOD بتجاوز العدد 255 , وبذلك يمكن استخدام الرقم الذي تريدة بدلاً عن الثلاثة دون اي مشاكل . سوف نضع الان شفرة البرنامج دالة فرعية يمكن إستدعائها عند الحاجة: -------------------------------------------------------------------------------- Function Encrypt1(Text As String, Num As Integer, Encrypt As Boolean) As String Dim Letter As String Dim Length As Long Dim I, Code As Long Length = Len(Text) For I = 1 To Length Letter = Mid(Text, I, 1) If Encrypt Then Code = Asc(Letter) + Num Else Code = Asc(Letter) - Num End If Mid(Text, I, 1) = Chr(Code Mod 256) Next I Encrypt1 = Text End Function -------------------------------------------------------------------------------- لاحظ ان الوسيط Encrypt هو الذي يحدد فيما اذا مكنا سنقوم بتشفير او بفك التشفير, فإذا كانت قيمتة True فان العملية ستكون عملة تشفير والعكس ستكون العملية عكسية. يمكن الأن استغلال الطريقة السابقة في تشفير اي ملف وذلك بفتح الملف اولاً تم قراءة بياناته الى متغير نص ومن ثم تطبيق الطريقة السابقة لتشفيرة ثم إعادة النص المشفر الى الملف وحفظه ويكون بذلك في مامن حتى يحين الوقت الذي نريد فيه استعادة البيانات الاصلية فنقوم فتح الملف وتطبيق العملية العكسية ونكون بذلك قد استعدنا البيانات : -------------------------------------------------------------------------------- Dim F As Integer Dim File As String Dim Data As Sting File=InputBox(“ Enter The Name Of The File “) F=FreeFile OPEN File For Binary As F Data=Space(LOF(F)) Get #F, ,Data Data=Encrypt( Data,34,True ) ‘ ENCRYPTION Put #F,1,Data Close F -------------------------------------------------------------------------------- قمنا في المثال السابق بعملية تشفير للملف الذي يريده المستخدم, وذلك باستخدام الرقم 34 بدلاً عن الرقم 3. لكي نقوم بفك التشفير نستبدل السطر التاسع بالتالي : -------------------------------------------------------------------------------- Data=Encrypt( Data,34,False) -------------------------------------------------------------------------------- ******************************************************** كانت المناقشة السابق مجرد مدخل للتشفير حيث ان الطريقة التي ذكرتها هي عبارة عن طريقة قديمة وغير فعالة في حالة ان البيانات المراد تشفيرها هي بيانات مهمة, حيث ان بقليل من التركيز وإعادة المحاولة يمكن للمبرمج الذكي ان يعرف الرقم الذي الاذي استخدمته في التشفير ومن ثم يقوم بعكس العملية واستخراج البيانات . ولكن لاتقلق يوجد هناك طرق اكثر فعالية للتشفير ساقوم بمنقشتها في المستقبل القريب ان شاء الله العلي القدير. كلمة اخيرة : الطريقة التي ناقشناها تعتبر طريقة مثالية في الاستخدامات البسيطة مثلاً في حالة ارسال بعض البيانات في اقراص بحيث تريد ان لايعرف حامل الاقراص بياناتك فيمكن استخدامها لضمان ذلك. او لتشفير بعض اللفات التي لاتريد لاحد ان يعرف محواها في جهازك المنزلي او في مقر العمل....الخ ملحوظة: الدرس بقلم/ رغيد الطيب
ظل السراب قام بنشر أكتوبر 25, 2005 قام بنشر أكتوبر 25, 2005 السلام عليكم ورحمة الله وبركاته اخي الكريم علم التشفير علم واسع ومتشعب بنسبه أقوم حالياً بتصميم قاعدة بيانات مهمة ، وتحتوي على معلومات من المهم عدم تسربها خارج الجهاز . الاصل اذا كانت المعلومات مهمه فانه لا يسمح باستخدام الجهاز الى من قبل الشخص المخول له العمل على هذا البرنامج والاطلاع على هذي البيانات المهمه بعباره اخرء اذا كانته المعلومات مهمه وكان هذا الجهاز يعمل عليه اكثير من شخص فيمكن ان يتم تسريب هذي المعلومات واذا تم تسريب هذي المعلومات فلايعن هذا استحلة فك الشفره لذا ينصح في مثل هذي الحلاته اين يكون البرنامج على جهاز مستقل وايضن في مكتب مستقل وقد سبق أن قرأت عن طريقة تشفير البيانات في الجداول عن طريق تغيير رقم الاسكي لكل حرف في كل حقل . بنسبه لطرق التشفير فيه كثيره وتعتمد على مداء فهم المبرمج في الخورزميات (( الرياضيات )) تشفير البيانات 1- تشفير البيانات داخل الملف 2- تشفير الملف الذي بداخله البيانات 3- تشفير الملف + البيانات شرح 1- تشفير البيانات داخل الملف وتعني انه يتم تشفير البيانات المدخله من خلال النموذج الى الجدول ولكن لها عيب خاصه اذا كانته البيانات كثير فتجد عيوبها عند البحث (( يكون البحث بطي جداً)) 2- تشفير الملفات او الملف الذي بداخله البيانات وهي عندما يتم تشغيل البرنامج فانه يقوم بفك التشفير عن الملف الذي يحتوي على البيانات وعند الخروج من البرنامج يعيد تشفير الملف وايضن لها عيوب وهي مذا لو انتقط التيار الكهرباي اثنا تحميل البرنامج او الخروج من البرنامج اي بعباره اخرء انه لم تتم عملية التشفير على الملف وهنا تحدث المشكله وايضن يمكن عند تشغيل البرنامج فانه يمكن سرقة الملف الذي فيه البيانات بعد ما فك الحماية 3- تشفير الملف + البيانات يتم تشفير البيانات المدخله الى الجداول وايضن يتم تشفير الملف عند الخروج من البرنامج واستعاده عند التشغيل مره ثانيه والعملية اما تتم من داخل البرنامج او عن طريق برامج مستقله معده مسبقاً لهذا الغرض فهل لدى رواد المنتدى معلومات عن هذا الموضوع ، وقد بحثت في المنتدى ولم أجد ما يتعلق بهذا الموضوع مباشرة . اخي الكريم انصحك 1- عندما تريد ان تشفر ملف يجب ان تخذ من هذا الملف نسخه فقد تتم عملية التشفير ولا تتم عملية استعادة الملفات او الملف او البيانات التي تم تشفيرها بطريقة صحيح ملاحظه اذا كنت صحب موسسه كبيره او مسؤل في دايره حكوميه وكانته المعلومات مهمه جداً فانصحك بان توضف شخص او تتعاقد مع شخص محترف جداً في مثل هذا المجال والله الموفق واعتذر عن كثرة الكلام والسلام عليكم ورحمة الله وبركاته
عبدالله سليمان قام بنشر أكتوبر 25, 2005 الكاتب قام بنشر أكتوبر 25, 2005 (معدل) شكراً لك أخي طيف على تجاوبك . وبالنسبة لقاعدة البيانات فإني أريد أن أعمل عليها حماية برقم المعالج مع ترميزها وتشفير البيانات في الجداول . وبعد بحث وجدت عدة أكواد للتشفير ، وقد أرفقتها بعد عمل مثال على أحدها ، أرجو أن يفيدك بشيء أخي طيف وبقية رواد المنتدى . فشكراً لك أخي طيف مرة أخرى ، ولو لم ترد بردك السابق لأصبح هذا الموضوع حوار بيني وبين نفسي :d _____.rar تم تعديل أكتوبر 25, 2005 بواسطه عبدالله سليمان
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.