تطبيق عملي: بناء دالة لتوليد كلمات مرور عشوائية في JavaScript


📚 مراجعة سريعة: هذا التطبيق العملي مبني على مفهوم برمجي أساسي. راجع الدرس النظري من هنا أولاً.



تطبيق عملي: بناء دالة لتوليد كلمات مرور عشوائية في JavaScript

بعد أن تعرفنا على المبادئ النظرية لتوليد كلمات المرور القوية، حان الوقت لتطبيق هذه المفاهيم عمليًا. في هذا الدرس، سنقوم بكتابة دالة JavaScript تقوم بتوليد كلمة مرور عشوائية قوية بناءً على الطول ومجموعة الأحرف المحددة.

الدالة generateStrongPassword

لنبدأ بتعريف الدالة التي ستقوم بالمهمة. سنطلق عليها اسم generateStrongPassword وستقبل معلمة اختيارية length لتحديد طول كلمة المرور، مع قيمة افتراضية قدرها 12.

function generateStrongPassword(length = 12) {
    // ... محتوى الدالة ...
  }

تحديد مجموعة الأحرف (Charset)

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

  const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+";

تهيئة كلمة المرور

سنحتاج إلى متغير لتخزين كلمة المرور التي يتم بناؤها. سنقوم بتهيئته بسلسلة فارغة.

  let password = "";

حلقة التكرار لاختيار الأحرف

الآن، سنستخدم حلقة for لتكرار عملية اختيار حرف عشوائي وإضافته إلى كلمة المرور، وذلك لعدد المرات التي يحددها المتغير length.

  for (let i = 0; i < length; i++) {
    // ... اختيار حرف عشوائي ...
  }

توليد مؤشر عشوائي واختيار الحرف

داخل الحلقة، سنقوم بتوليد مؤشر عشوائي يقع ضمن نطاق طول charset باستخدام Math.floor(Math.random() * charset.length). ثم نستخدم هذا المؤشر لاختيار حرف من charset وإضافته إلى password.

    const randomIndex = Math.floor(Math.random() * charset.length);
    password += charset[randomIndex];

إرجاع كلمة المرور

بعد انتهاء الحلقة، ستكون password قد اكتملت، وسنقوم بإرجاعها من الدالة.

  return password;

الكود الكامل للدالة

إليك الكود الكامل للدالة generateStrongPassword:

// دالة لتوليد كلمة مرور قوية وعشوائية
function generateStrongPassword(length = 12) {
  // الحروف، الأرقام، والرموز المسموح بها
  const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+";
  let password = "";
  
  for (let i = 0; i < length; i++) {
    // اختيار حرف عشوائي في كل دورة
    const randomIndex = Math.floor(Math.random() * charset.length);
    password += charset[randomIndex];
  }
  
  return password;
}

تجربة الدالة

يمكننا الآن تجربة الدالة عن طريق استدعائها وتمرير الطول المطلوب، ثم طباعة النتيجة إلى وحدة التحكم (Console):

// تجربة الدالة لتوليد كلمة مرور من 16 خانة
const newPassword = generateStrongPassword(16);
console.log(`كلمة المرور الجديدة الخاصة بك: ${newPassword}`);

// تجربة أخرى بطول افتراضي (12 خانة)
const defaultPassword = generateStrongPassword();
console.log(`كلمة المرور الافتراضية الخاصة بك: ${defaultPassword}`);

الخلاصة

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