انظمة تشفير كلمة المرور الحديثة والمعرف تحت اسم
حيث ان وظيفتها توليد شفرة لنفس الجملة متغير كلما قمت بتوليد كلمة السر
طيب ما هى الاخطاء التى يقع بها المبرمج دائماً
خصوصاً مع كلمة المرور فى برامج سطح المكتب التى تتعرض بشكل كبير لفك وعرض السورس
الامر ان تجد البعض الذى لا يمتلك فكرة عن الامر انه يقوم بعملية توليد تشفير
وليكن مثل احمد تحول الى 14 24 87 95 كمثال وتجد انه يضع فك التشفير ليحول 14 24 87 95 الى احمد
حتى يقوم بالتحقق بان احمد = احمد
اذا قمت بعمل تشفير لكلمة المرور فدائماً اجعل التشفير دون فك
كمثال ساعطى طريقة مشابه لما استخدمه لدى فى عملية التشفير والشرح كا فكرة
لنتخيل اننى ساستخدم كود تشفير ما تجلب لى وليكن
التشفير التالى
كود :
$1$toHVx1uW$KIvW9yGZZSU
شفرة كلمة المرور كا مثال الان بعد ما اصبح لدى هذا الشكل
فساقوم بجعل كل حرف مستقل ليتم استخدام مع التوضيح التالى
الان ساقوم بعمل تشفيل من نوع اخر حتى يعطى لى كود بشكل اطول
ويكون نوع التشفير سيتم على [ - التاريخ || - الوقت بالثانية ] الحالى لكل ملرة تتم بها اذا تسجيل دخول او اتمام اشتراك
اى ان التاريخ والوقت تتم جلبها للحظة الفعلية
ليصبح الكود وليكن على هذا الشكل كمثال
كود :
vGA1O9wmRjrwAVXD98HNOgsN6p%Dczlq&^Yhsm3Jq7KnEdas^7sanm1rVAGv3Fykk1a
وطبعاً بما ان الوقت معنا بالثانية اى ان الكود كل ما يتم تكوينه ستجده متغير غير ثابت
الان ياتى الامر على فكرة دمج كلاهما معاً
سبق وقلت انى ساستخدم كل حرف مستقل طيب ولماذا
فى البداية لنقول ان عدد الاحرف لكلمة المرور من نوع تشفير معين 8 حرف مثلاً
وتوع التشفير المختلف خاصة الوقت والتاريخ متكون من 32 حرف مثلاً
فول قلنا ان 32/8 فيها الـ 4 بمعنى كل 4 احرف اقوم بزرع حرف من كلمة المرور الحقيقية
انظر الى هذا الشكل لتوضح الصورة اكتر
إقتباس :$1$vGtA1Oo9wHmRjrVwAVXD9x8H1NOgsNu6p%D$cWzlqK&I^YvhsWm3J9q7KynEdGas^Z7sZanSm1rVAGv3FykUk1a
لاحظ ما باللون الاحمر وما هو باللون الاسود لتوضح فكرة الدمج
انا عامل التوزيعة عشوائي وليس كما تم شرح 32 و 8 وبعد كل 4 احرف
الامر سيعتمد عليك فى الطريقة لاننى اوضح الفكرة ليفية انشاء تشفير خاص وبطريقتك الخاصة
نستكمل الشرح الان بعد ما تم الدمج ما هو المتغير معنا كل ثانية
طبيعة الحال هو ما يحمل اللون الاسود فى كل مرة تتم عمل تشفير كلمة المرور
طيب كيف الان تتم عمل التحقق
التحقق هنا يمكن الاستغلال من تصعيب الامور اكثر او تسهيلها وطبعاً الامر يرع لك لكن انا لا احبب التسهيل
فساقول طريقتين والباقي يعتمد عليك لان من المفترض لا تتم توضح الصورة كاملاً
الان عملية التحقق هو من خلال تحقق اماكن الاحرف باللون الاحمر للتشفير القديم مع اماكن الاحرف باللون الاحمر فى التوليد الجديد
حيث ان الاحرف ستكون ثابتة فى اماكنها وكذلك لا يوجد اى ختلاف بها ويمكنك ذلك اما مباشر مع الكود او اسخراج الاحرف اولاً من ثم المقارنة لكن لا احبب الاستخراج الاحرف لانك هنا ستمكن ن يحاول فك التشفير من استوعاب الامر
الطريقة الثانية وهى عن طريق الوزن والتحقق العشوائي
بمعنى اذا كان كلمة المرور عدد احرفها ثابت وليكن مثلاً 8 فيمكننى التحقق من 3 او 4 احرف فقط
وتتغير مواقعها التحقق فى كل مرة
لتوضح الصورة من الفكرة لدي احرف
التشفير مواقعها
PHP كود :
1 و 5 و 9 و 13 و 17 و 21 و 25 و 29
فالان يتم التحقق الثلاث احرف مع 1 و 17 و 21 مثلاً
وعند اعادة التحقق تكون 29 و 25 و 9 مثلاً
بحيث ان الاحرف الـ 8 هنا ثابتة وغير متغيرة فعند تحقق الـ 3 او 4 احرف منها فهنا كلمة المرور صحيحة
ونسبت تحقق اماكن الاحرف الثابتة بين كلمة مرور واخر قد تكون 0.0001% فلا قلق من ذلك فبامكانك اختبار ذلك
لكن تذكر سيعتمد على نوع التشفير الاساسي الذى استخدمته فمثلاً لا تقول اصلى تستخدمت مثلاً تشفير من خلال AscW
الى هنا انهى الفكرة كاملاً
واتمنى ان الفكرة والشرح فتحت مجال لتمكنك لعمل تشفير بطريقتك الخاصة
وانهى بالنهاية ما تم شرحه وكتابته هنا ما هو الا فكرة
وجميع الحرف على هيئة تشفير لا ترتبط بالواقع حيث اننى اتحدث عن 8 و 32 وما يوجد فى الرد اكثر من ذلك
والسبب بقصد ذلك بان لا تاخد على الاعداد المذكورة وكذلك لا تعتمد على نوع معين
فيمكنك استخدام نوع تشفير يمكن المبتدئ من فكه ولكن لتحويله كما فى الشرح لمستحيل
فى النهاية اتمنى ان لا اكون مخطاء فى الكتابة او سهوت عن شئ
تحياتى لك
وتمنياتى لك للجميع التوفيق