**Lab4 Cryptography, Authentication and Access Control Part1 — Transcript & Summary | SozAI**
Source: https://sozai.app/transcript/lab4-cryptography-authentication-access-control-part1/

شرح تطبيقي لمفاهيم التشفير والمصادقة والتحكم بالوصول، مع تطبيق عملي على دوال الهاش باستخدام بايثون ومكتبة hashlib، وتخزين كلمات المرور بأمان باستخدام bcrypt والسولت.

## Key Takeaways

- دوال الهاش أداة فعالة للتحقق من سلامة البيانات لأن أي تغيير بسيط يغير القيمة بالكامل
- يجب إضافة سولت عشوائي لكل كلمة مرور قبل التجزئة لحمايتها من الهجمات الشائعة
- استخدام خوارزميات قوية مثل SHA-256 أو SHA-512 بدلاً من MD5 وSHA-1 الضعيفة
- التحكم بالوصول القائم على الأدوار يبسط إدارة الصلاحيات بدلاً من تحديدها لكل مستخدم منفرداً

## What the video covers

- تعريف علم التشفير وحماية المعلومات وأهدافه الأمنية: السرية وسلامة البيانات والاتصال الآمن
- شرح مصطلحات أساسية: النص الأصلي والنص المشفر والتشفير وفك التشفير والمفتاح العام والخاص
- عرض تقنيات التشفير الأساسية: الهاشينغ والتشفير المتماثل وغير المتماثل والتوقيعات الرقمية
- خصائص دوال الهاش: الحتمية والطول الثابت وصعوبة الانعكاس ومقاومة التصادم وتأثير الانهيار (Avalanche)
- مقارنة خوارزميات MD5 وSHA-1 وSHA-256 وSHA-512 وأسباب التحذير من MD5 وSHA-1
- تطبيق عملي: حساب قيمة الهاش لرسالة نصية وتحويلها إلى الصيغة السداسية عشرية
- التحقق من سلامة الملف عبر مقارنة قيم الهاش قبل وبعد التعديل
- مشكلة تخزين كلمات المرور بالهاش العادي وأهمية إضافة السولت العشوائي لمنع هجمات القاموس والجداول القوسية
- تطبيق bcrypt لتجزئة كلمات المرور والتحقق منها مع التأكيد على عدم تخزينها كنص واضح
- مقدمة في التحكم بالوصول (Access Control) والأدوار والصلاحيات وتطبيقها على نظام الطلاب

## Chapters

1. 00:00 مقدمة في اللاب وأهدافه
2. 01:44 المفاهيم الأساسية للتشفير
3. 05:20 أنواع تقنيات التشفير
4. 06:27 دوال الهاش وخصائصها
5. 07:55 تطبيق الهاش عملياً بايثون
6. 13:15 التحقق من سلامة الملفات
7. 18:05 تخزين كلمات المرور والسولت
8. 30:30 التحكم بالوصول والأدوار

Answers

## Questions about this video

ما الفرق بين التشفير والهاش حسب الفيديو؟

التشفير عملية ثنائية الاتجاه يمكن عكسها بمفتاح مناسب لاسترجاع البيانات الأصلية، أما الهاش فهو تحويل باتجاه واحد لا يمكن عكسه، ويُنتج قيمة بطول ثابت تُستخدم للتحقق من سلامة البيانات.

لماذا يُنصح بعدم استخدام خوارزمية MD5 وSHA-1؟

لأن هاتين الخوارزميتين تعرضتا لهجمات معروفة تسمح بإيجاد تصادمات، أي مدخلات مختلفة تنتج نفس قيمة الهاش، لذلك يُفضل استخدام SHA-256 أو SHA-512 الأقوى.

ما فائدة السولت في تخزين كلمات المرور؟

السولت قيمة عشوائية تُضاف لكل كلمة مرور قبل التجزئة، فتجعل كلمات المرور المتطابقة تنتج قيماً مختلفة، مما يحمي من هجمات الجداول القوسية وتخمين كلمات المرور الشائعة.

## Full Transcript — Download SRT & Markdown

00:02

Speaker A

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

00:21

Speaker A

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

00:39

Speaker A

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

00:56

Speaker A

وبتضيف طبعًا سولت تلقائيًا، الكريبتوغرافي هاي مكتبة بت- بت- بتوفر أدوات للتشفير وفك التشفير وكيف نتعامل مع المفاتيح العامة والخاصة. تمام إحنا في هذا اللاب حنستخدم الهاش ليب وال- وال- الهاش ليب وال- إيه كريبتوغرافي.

01:10

Speaker A

عشان أوضح كيف بتساعد تقنيات التشفير إنها بروتكتد إنفورميشن بتحمي البيانات، بتحافظ على سلامتها، سبورتس سيكيور كوميونيكيشن وبتدعم ال- الاتصال الآمن، يعني أنتِ مثلًا بدك تبعثي رسالة لشخص بدي أضمن إنه المعلومة محمية وإنه الشخص المستلم يقدر يتأكد إنه فيش تلاعب صار في الرسالة فيش

01:28

Speaker A

تغيير، تمام؟ هذول الأهداف اللي إحنا اللي إحنا حنحققها في هذا اللاب. تمام نيجي لل- ال- إنترودكشن، هاي ال- ال- إيه هذا القسم حناخذ الأساس اللي إحنا رح نبني عليه باقي المواضيع، إيه إيش هو الكريبتوغرافي؟ تمام هو هذا التشفير قلنا

01:44

Speaker A

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

02:01

Speaker A

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

02:19

Speaker A

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

02:41

Speaker A

اللي يقدر يقرأها تمام اللي هو سلامة البيانات انه نتاكد انه نتاكد انه البيانات او المعلومات ما فيش ما تعدل عليها لم يتم التلاعب فيها تمام يعني زي مثلا لو انا بعثت ملف وكان فيه مثلا هذا الملف علامة طالب وجايب ايش 90

03:01

Speaker A

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

03:20

Speaker A

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

03:40

Speaker A

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

03:56

Speaker A

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

04:16

Speaker A

بتكون قيمة لها طول ثابت. جنريتد فروم إنبوت داتا يعني إحنا يتم إنتاجها من بيانات الإدخال.

04:23

Speaker A

الببلك كي اللي هو كي إنه مفتاح بقدر أشاركه. والبرايفت الكي ذات ماست ريمين سيكرت لازم يضل. إيش سري وما نشاركه.

04:32

Speaker A

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

04:49

Speaker A

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

05:07

Speaker A

الأسمتريك هذا إيش؟ تشفير غير متماثل يعني أنا بستخدم المفتاح يعني الببلك والبرايفت. يعني مثلاً المرسل بشفر الرسالة باستخدام الببلك.

05:16

Speaker A

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

05:28

Speaker A

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

05:38

Speaker A

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

05:51

Speaker A

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

06:08

Speaker A

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

06:27

Speaker A

النظر عن حجم البيانات اللي انا دخلها. لو مثلا كانت الكلمة صغيرة الناتج حيكون مثلا اذا احنا استخدمنا 256 الناتج حيكون 256 بت. لو انا كان ملف كبير الناتج برضه حيكون عندنا 256 بت. يعني هي هاي الخوارزمية بتنتج نفس الطول دائما.

06:43

Speaker A

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

07:00

Speaker A

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

07:15

Speaker A

في اول حرف اذا هو كابيتال او سمول لكن في قيمة الهاش الناتجة رح تكون طبعا الاختلاف ايش؟ حيكون كبير.

07:21

Speaker A

هلقيت هدول هنا اربع اشهر اشهر اربع خوارزميات وهذا الاوتبوت سايز لكل وحدة. الام دي فايف 128 بت هذه خوارزمية الهاشينج بتنتج قيمة طولها 128 والاس اتش ايه 1 اللي هو 160 والاس اتش ايه 256 تنتج 256 بت وهنا 512. طبعا انا اذا بدي

07:40

Speaker A

احول من بت للهيكساديسيمال طبعا عندنا احنا عارفين كل اربع بت بتمثلي رقم واحد في النظام السادس عشر عشان هيك ال128 بت بقسمها على اربعة بتعطيني قديش؟ 32 حرف تمام.

07:53

Speaker A

وهكذا 256 لو قسمناها على اربعة بتعطينا 64 حرف. تمام هنا بحكي لك الام دي فايف والاس اتش ايه 1 ايه بحذروا منهم لانه ممكن ايه لانه في وجود هجمات معروفة. عشان هيك احنا بنستخدم خوارزميات اقوى اللي هو زي الاس

08:06

Speaker A

اتش ايه 256 والـ 512. تمام، هلقيت نيجي نشوف لمين عندك الجزء العملي. زي ما قلنا بايثون بتوفرلي هاي المكتبة هاش ليب. تمام، عشان ننشئ قيمة لمين؟ لـ الهاش فاليو. تمام، نيجي نشوف الكود أول شي بعدين نطبق. أول شي بنعمل امبورت للهاش

08:24

Speaker A

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

08:37

Speaker A

الهاش فاليو بتساوي الهاش ليب دوت اس اتش ايه 256. هاي الدالة بتطبق خوارزمية الـ اس اتش ايه 256 على البيانات اللي أنا أعطيتها إياها. بعدين احنا بنعمل الـ مسج دوت ان كود.

08:52

Speaker A

هاي الدالة حتحولي الـ النص اللي عندي اللي هو السترينج هذا ايه لـ بصيغة البايت. تمام، لأنه خوارزمية الهاشينج بتتعامل مع البيانات بصيغة البايت.

09:02

Speaker A

تمام، دوت هيكسا ديجيت، هنا حنحولها لـ لـ صيغة هيكسا ديسمال النظام السادس عشر، وبعدين حنطبع الـ المسج، بعدين هنا حنطبع قيمة مين عندك الهاش فاليو.

09:16

Speaker A

تمام، نيجي هنا نطبق. خلينا نكمل على البيئة الافتراضية اللي عندنا. عملناها في لاب ثلاثة.

09:27

Speaker A

تمام. نعمل اكتيفيت. بعدين اه خلص، بعدين ايش ندخل جوا بايثون. [ضحك] تمام، خلينا ننسخ الكود.

09:46

Speaker A

حنعمل هنا. أول شي امبورت للهاش ليب. بعدين المسج اللي عندنا. بدنا ناخذ الـ بدنا نشوف الـ قيمة الهاش فاليو الها.

09:58

Speaker A

تمام، هاي الدالة اللي هي حتجيبلي الهاش. اها. خلينا نشوف. سبيس. بعدين خلينا نطبع ال تمام هي أول شي حكينا نطبع ال طبعلي اللي هي المسج عنا هيها طبعلي وهي قيمة مين عندك ااا ال هاش ااا ال هاش فاليو طبعاً

10:39

Speaker A

طول القيمة اللي هي عندك 64 حرف استخدام الهيكساديسيمال يعني 256 بت تمام تمام نيجي لهذا الجزء هذا الجزء احنا بدنا نشوف كيف تغيير بسيط في قيمة الهاش ممكن ايش ااا تغيير بسيط في عندك في المسج ممكن يغيرلي في قيمة الهاش تمام

11:01

Speaker A

برضو نفس الشي بنعمل امبورت لل ااا مكتبة تمام وهي بنعرف الرسالتين هلو وورد نفس الشي بس الفرق بالورد اللي هي عندك ااا دبليو هنا كابيتال وهنا مين عندك سمول تمام بعدين هنا ااا بنحسب ال ااا ال اس اتش ام ااا ام اللي هي 256 للرسالة الأولى

11:17

Speaker A

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

11:34

Speaker A

تمام خلينا نروح لا هون هي احنا ااا عاملين امبورت للهاشلب تمام هي المسج الأولى والمسج الثانية تمام خلينا نطبعهم كلهم فيش سبيس هنا تمام هي طبعلي الهاش ااا لل المسج الأولى والهاش للمسج الثانية ونحنا شايفين انهم ايش بيختلفوا عن بعض خلينا نطبق نشوف ايش

12:12

Speaker A

حيعطينا بالنتيجة. اه هنا مش راضي عشان الـ تمام. تمام نسيب سبيس أربعة بعدين بنعمل إلس.

12:41

Speaker A

بعدين نسيب سبيس. تمام هيو حكى لك الهاش فاليو أرديفيرنت تمام قارنهم حتى إنه هنا الـ الكمبيوتر هنا عندنا الـ حرف الكبير بيفرق عنده إذا كان كابيتال أو سمول تمام.

13:01

Speaker A

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

13:16

Speaker A

أول إشي هنا بحكي لك حنعمل ملف نسميه سامبل دوت تكست تمام. خلينا نطلع من الـ بايثون عشان نعمل الملف.

13:31

Speaker A

تمام. هي نحن هنا رح نحكي له النوت باد نفتح النوت باد واسم الملف سامبل دوت تكست تمام رح يفتح لنا إياه.

13:40

Speaker A

نروح نحط فيه اللي هو الكمبيوتر سيكيوريتي لابريورتي تمام. خلينا نقيم هذا. نعمل سيف تمام.

13:54

Speaker A

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

14:07

Speaker A

الملف تلقائي بعد ما نخلص منه أوبن بتفتح لي الملف فايل نيم أر بي هي معناها ريد باينري يعني افتح الملف للقراءة بصيغة الباينري از فايل هنا بنعطيه اسم الـ للملف يعني بشكل مؤقت بعدين فايل هاش هاش ليب دوت اس اتش ايه ام

14:23

Speaker A

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

14:42

Speaker A

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

14:58

Speaker A

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

16:11

Speaker A

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

16:56

Speaker A

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

17:13

Speaker A

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

17:30

Speaker A

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

17:46

Speaker A

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

18:05

Speaker A

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

18:24

Speaker A

واليوزر الثاني هاش A وهذا هاش A, لهم نفس كلمة المرور أعطانا نفس قيمة الهاش. لكن مع السولت, إذا هنا ضفنا هنا سولت, صار هنا عندك هاش, هي هذه لها قيمة هاش. وهنا لو ضفنا معها سولت, أعطانا مين عندك قيمة

18:38

Speaker A

هاش ثانية. فهذه من فوائد مين عندك الهاش, تمام؟ يعني إنه نفس كلمة المرور أعطتنا إيش؟ هاش مختلف, ليش؟ بسبب اختلاف السولت تمام؟ بيحكي لك إيه إتس هيلب بريفينت أيدينتيكال باسورد فروم بروديوسينج أيدينتيكال سولت, زي ما قلنا. بتمنع ظهور نفس الهاش لكلمات

19:00

Speaker A

المرور اللي زي بعض لما أنا أستخدم السولت, تمام؟ أند ميك بري كمبيوتد أتاكس, كمان بتصاحب الهجمات لأنه المهاجم بيحتاج إنه كمان بده ياخذ بعين الاعتبار إنه يخمن ال- السولت لما بده يخمن كلمة المرور, تمام؟ بس السولت هذا مش كلمة مرور سرية. إحنا

19:16

Speaker A

ممكن نخزنها إيه مع الهاش زي ما قلنا, هي بس بتضيف العشوائية, مش بتشفر كلمة المرور. تمام؟ إيه هنا بيحكي لك الباسورد إحنا تخزين كلمات المرور لازم يعتمد على خوارزمي- إيه خوارزميات مخصصة, بدل ما إحنا نعتمد على الخوارزمية إس إتش- ال- إس

19:32

Speaker A

إتش إيه 256 إيه لحالها لأنها إيه سريعة وعامة, فهذا بيساعد المها- إيه ال- المهاجم يجرب عدد كبير من كلمات المرور في وقت قصير. لكن خوارزميات الباسورد هاشينج إيه زي البي سي آروايبيتي, البي بي كي دي إف تو, هاي مصممة عشان تكون أبطأ وأكثر

19:49

Speaker A

مقاومة إذا إيش؟ إيه حد حاول يخمن كلمة المرور. خلينا نشوف إيه في ال- نطبق عملي.

19:56

Speaker A

برضه حنستخدم اللي هو نعمل إمبورت لمكتبة الهاش ليب, لأنها بتوفر لي هاي الدالة اللي هي البي بي إيه بتو- بتوفر لي هاي الدالة اللي إحنا حنستخدمها عشان نشتق قيمة اعتمادًا على كلمة المرور والسولت. إيه إيش هي؟ هذه اختصار لباسورد

20:10

Speaker A

بيست كي إيه ديريفيشين إيه فانكشن, تمام؟ هاي خوارزمية بن- بتستخدم كلمة المرور والسولت وعدد من التكرارات, هاي السولت وكلمة المرور والسولت وعدد من التكرارات عشان تنتج لي قيمة مشتقة. يعني ببساطة بدل ما أحسب الهاش مرة واحدة، بكرر العملية

20:27

Speaker A

أكثر من مرة عشان تصير محاولة التخمين تكون إيش؟ أبطأ، تمام؟ أول شي حنعمل إمبورت للهاشلب، زي ما قلنا بنعمل إمبورت لهذه المكتبة عشان نستخدم الدوال، وننشئ الهاش وننفذ اللي هو هذا الـ بي بي كي دي إف تو.

20:41

Speaker A

نعمل إمبورت للـ أو إس عشان هذه نولد قيمة عشوائية للسولت، تمام؟ وعندنا هنا الباسورد، أنشأنا متغير اسمه باسورد وخزنا فيه كلمة المرور عندنا.

20:51

Speaker A

بعدين السولت أو إس دوت الـ يو آر يو راندوم 16، هذه طبعًا بتولدلي قيمة عشوائية، تمام؟ هنا حطينا 16 معناه إنه أنا بدنا 16 بايت من البيانات العشوائية، طبعًا والناتج حنخزنه في المتغير سولت.

21:09

Speaker A

هنا بدنا ننشئ اللي هو مين عندك الباسورد هاش، تمام؟ الهاشلب دوت بي دي كي إف تو، تمام؟ أنشأنا المدخلات إس إتش إيه، يعني إحنا خوارزمية الـ إس إتش إيه إس إتش إيه 256 اللي استخدمناها، باسورد دوت إنكود يعني إحنا بدنا نحول

21:25

Speaker A

كلمة المرور لبايت، السولت هنا القيمة الـ العشوائية، هنا الـ 200,000 هنا الـ عدد التكرارات اللي هي إيتيريشن، هاي معناها إنه الخوارزمية بتنفذ عدد كبير من التكرارات عشان أنا أزيد التكلفة في عملية التخمين وأخليها تكون إيش؟ بطيئة، تمام؟ بعدين حنطبع هنا

21:43

Speaker A

قيمة السولت وحنطبع مين عندك الباسورد هاش. تمام، خلينا إيه نجرب. إحنا عاملين الإمبورت للهاشلب، تمام؟ خلينا نكمل.

22:19

Speaker A

والباسورد دوت إنكود. طيب. تمام هلقيت رح نطبع القيمتين. تمام هني هي هنا طبع لي قيمة السولت ورح يطبع لي هنا قيمة مين عندك الباسورد هاش، يعني.

23:02

Speaker A

اه هنا قيمة طبعًا ال- سولت هنا قيمة عشوائية طولها 16 بايت وطبعًا بصيغة الهيكسا ديسيمال وهي كلمة مين عندك القيمة المشتقة من كلمة المرور والسولت، تمام؟ تمام هلقيت إحنا بدنا إيش؟ خلينا نثبت تأثير السولت إيش عمليًا، بدي أرجع أحط

23:21

Speaker A

إيه. هنا. تمام الكود من عند إيه. من إيه نحط السولت. تمام، يعني بدي أرجع أنفذ.

24:13

Speaker A

تمام وهلقيت بدي أطبع. إيش اللي عملته هلقيت أنا؟ رحت عدت إيش؟ الخطوات من وين؟ من هنا، إنه أولد قيمة عشوائية، تمام؟ ونفس الباسورد، بس هل حشوف نفس قيمة ال- السولت حتطلع عندي ولا إيه؟ وال- باسورد هاش؟ هي قيمة الباسورد الـ

24:33

Speaker A

سولت. وهي قيمة الـ سولت طبعًا بيختلفوا وهي الباسورد. هاش هنا إيش بيختلف؟ يعني نفس كلمة المرور نتج عندنا هاش مختلف لما أنا استخدمت سولت مختلف، تمام؟ وهي الفكرة اللي إحنا بدنا نثبتها إنه أنا حطيت هي نفس كلمة المرور

24:47

Speaker A

نفسها ما غيرتها بس رحت عدت من هان هدول الخطوات فأعطاني قيمة سولت وقيمة الباسورد هاش مين؟ مختلفين.

24:55

Speaker A

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

25:12

Speaker A

المستخدم أو النظام قبل ما إيش؟ أوصل لمكان معين. يعني ببساطة النظام لازم يتأكد من الشخص اللي بيحاول يسجل الدخول قبل ما يسمح له. زي ما قلنا مثلًا لما أنتِ بدك تفتحي موديل بندخل الرقم الجامعي وكلمة المرور، تمام؟ النظام بيتحقق من بياناتك إذا البيانات

25:28

Speaker A

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

25:50

Speaker A

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

26:04

Speaker A

النظام بيتحقق من كلمة المرور اللي دخلها المستخدم وبقارنها مع الهاش المخزن. الأكسس إز جينيريتد أونلي تمام إذا هي كانت البيانات صحيحة فإيش بيحكي لك؟ فاليد بيقدر يدخلني إذا خطأ بيرفض الدخول، تمام؟ إيه الباسورد شود نوت بي ستورد أز أبلين

26:21

Speaker A

تكست يعني إحنا مش لازم نخزن كلمات المرور كنص واضح. تمام؟ إحنا بنخزن قيمة الهاش الناتجة عن الخوارزمية.

26:29

Speaker A

تمام؟ نيجي نشوف إيش هو البي سي ار واي بي تي. هذا الديزاين فور باسورد هاشينج. هذه خوارزمية. هاي مكتبة وخوارزمية مخصصة عشان أخزن كلمات المرور وبتستخدم ايش؟ السولت عشوائي مع عملية الهاش أوتوماتيكي.

26:44

Speaker A

كان بشكل تلقائي. أول شيء راح نثبت المكتبة طبعًا بنعمل إكزت، تمام. ونثبت هاي المكتبة. أنا مثبتة عندي.

27:01

Speaker A

بننسخها من هون. تمام. بعدين نيجي للـ الكود نشوف. نعمل أول شيء إمبورت لهي المكتبة عشان أنا أقدر أستخدم إيه الـ الدوال اللي فيها.

27:14

Speaker A

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

27:29

Speaker A

إيه بي سي ار واي بي تي دوت جينيريت سولت. هنا إنه بـ إيه بننشئ قيمة للسولت عشوائيًا.

27:36

Speaker A

هذه الدالة بتنشئ لك قيمة للسولت عشوائيًا بدل ما أنا أكتب أولدها زي ما إيه نولد القيمة العشوائية زي ما استخدمناها هون.

27:46

Speaker A

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

28:00

Speaker A

بنعملها دوت ديكود إنه حنحول الناتج من بايت لسترينج. بعدين هنا إنتر باسورد اللي أنا حأدخله. يعني هذا بيكون مخزن. أما أنا هذا اللي أنا أدخله لما أجي عملية إيه إيه تسجيل الدخول. تمام.

28:13

Speaker A

بعدين بروح أقارنها. هل الـ قيمة اللي أنا دخلتها نفسها؟ إذا اه حيطلع لي أثنتيكيشن سكسسفل. إذا هذا حيقول لي إنفاليد باسورد، تمام. الدالة هذه إيه تشيك بي دبليو بتقارن كلمة المرور مع مين؟ مع الهاش المخزن. إذا صح حيكون زي ما هو. بترجع

28:29

Speaker A

ترو. إذا غلط بترجع مين عندك؟ إيه فولس. تمام. نيجي نطبق. تمام خلينا. نطلع من هنا.

28:45

Speaker A

قبلها بايثون. هاي انتر باسورد, بعدين نيجي ايش؟ ونطبع انفاليد. فحكينا هنا ايش؟ الاثنتيكيشن سكسسفل, لانه انا اللي كلمة المرور اللي انا اللي مخزنة عندي في قاعدة البيانات طلعت نفس الايش؟ اللي انا اللي هنا كتبتها لما اجيت اسجل دخول.

29:37

Speaker A

تمام, لو احنا بدنا نجرب كلمة مرور خاطئة, فبروح من هنا. تمام. خلينا نشيل هيك, خلص, نجرب كلمة ايش؟ مرور خاطئة, بعدين بنكمل, بدي اروح ايش؟ نفحصها.

30:09

Speaker A

تمام. نشوف ايش حيطبعنا, المفترض يطبعنا انفاليد باسورد, فعلا, لانه احنا غيرنا كلمة المرور مش نفسها الكلمة اللي ايش؟ احنا مخزنينها في قاعدة البيانات. تمام.

30:20

Speaker A

هنا بحكيلك الباسورد بوليسيز, هنا سياسات كلمات المرور انه. سياسة اللي هي سياسة كلمات المرور هي رولز ذات هيلب يوزر كرييت, يعني هنا كلمات المرور هي مجموعة قواعد بتساعد الـ المستخدمين انهم يعملوا كلمات مرور قوية, مثلا استخدمي كلمة مرور طويلة تجنبي مثلا

30:39

Speaker A

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

30:55

Speaker A

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

31:13

Speaker A

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

31:28

Speaker A

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

31:48

Speaker A

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

32:05

Speaker A

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

32:28

Speaker A

من الصلاحيات يعني كل مستخدم بعطيه الصلاحيات اللي بيحتاجها لأداء مهمة مهمته بس مش أكثر تمام الرول بيست اكسس كنترول ار بي اي سي هذا يعني التحكم بالوصول على حسب الدور الوظيفي، يعني بدل ما أنا أعطي مثلاً كل مستخدم صلاحيات بشكل منفصل، خلص بحدد

32:45

Speaker A

أدوار وكل دور له صلاحية، مثلاً أدمنستريتور، إنستركتور، ستودنت، زي هيك، يعني أنا لو مثلاً عندي 100 طالب. تمام؟ مش ضروري أحدد صلاحيات كل طالب لحاله، لأ، بعطيهم كلهم دور مين عندك الستودنت، وبصير عندهم إيش؟ نفس اللي هو نوع الصلاحيات،

32:59

Speaker A

تمام؟ نيجي نشوف الكود، أول شيء يوزر رول اللي هو عندك ستودنت، هنا حددنا دور الـ المستخدم، هنا إذا كان المستخدم أدمن.

33:09

Speaker A

الـ اللي هو المانيجر يوزر، بنقدر مانيج يوزر. نطبع هي الجملة، إذا ما كانش كونستـ إنستركتور، وإذا ما كانش بيكون ستودنت، غير هيك إيش؟ دور غير معروف، فبيرفض الوصول.

33:23

Speaker A

طبعاً هنا أنا حددت أول شيء الدور هنا أنا حددت إنه هو ستودنت. تمام؟ بس للتوضيح كمثال، لكن في إحنا في النظام الحقيقي ما بسمحش للمستخدم أصلاً يحدد صلاحيته بنفسه، السيرفر هو المسؤول عن التحقق من دوره، فهو بحدد العمليات المسموح إنه ينفذها،

33:38

Speaker A

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

34:19

Speaker A

هي إذا كان ممكن يكون طالب. يطبع لي. ما بيقدر يشوف الكورس إنفورميشن. غير هيك مش مسموح له.

34:39

Speaker A

يدخل على الموقع. تمام هنا أنا عشان أنا حكيتله اللي هو عنا ستودنت حكالي فيو كورس انفورميشن أنت بتقدر تشوف ايه اللي هو مين عندك معلومات ال كورس تمام.

34:58

Speaker A

نيجي لهذا القسم.

Topics: التشفير الهاش المصادقة التحكم بالوصول بايثون hashlib bcrypt السولت كلمات المرور أمن المعلومات

ذاكر هذا الفيديو

- [بطاقات تعليمية من هذا الفيديو](https://sozai.app/ar/tools/flashcard-maker/?from=transcript&id=93646)
- [اختبار عن هذا الفيديو](https://sozai.app/ar/tools/quiz-generator/?from=transcript&id=93646)
- [كلمات متقاطعة من هذا الفيديو](https://sozai.app/ar/tools/crossword-maker/?from=transcript&id=93646)
- [لعبة بحث عن الكلمات من هذا الفيديو](https://sozai.app/ar/tools/word-search-maker/?from=transcript&id=93646)
- [ملخص دراسي من هذا الفيديو](https://sozai.app/ar/tools/study-guide-maker/?from=transcript&id=93646)

مجاني، يصنعه الذكاء الاصطناعي من هذا النص المفرَّغ. دون تسجيل.


---
This is the markdown twin of https://sozai.app/transcript/lab4-cryptography-authentication-access-control-part1/ — the same content, without the markup.
Published by SozAI (https://sozai.app). Reuse and quotation are allowed with attribution and a link back.
Machine-readable index: https://sozai.app/llms.txt · data API: https://sozai.app/api/
