الشرح
كيف يعمل Passwortgenerator
يُنشئ مولّد كلمات المرور كلمات مرور عشوائية مباشرة في المتصفح باستخدام Web Crypto API (crypto.getRandomValues). أنت تحدّد الطول والعدد ومجموعات الأحرف المستخدمة — الأحرف الكبيرة/الصغيرة والأرقام والأحرف الخاصة.
يمثّل العرض الطول × log₂(حجم المجموعة) مساحة البحث النظرية. ويضمن التوليد الفعلي إضافةً إلى ذلك حرفًا واحدًا على الأقل من كل مجموعة نشطة؛ لذلك لا تصف قيمة البت هذا التوزيع بدقة وليست إثباتًا للأمان ولا تنبؤًا بأزمنة هجوم محدّدة.
كلمة المرور المولّدة بقوة لا تحمي من إعادة الاستخدام أو التصيّد أو البرمجيات الضارة أو التخزين غير الآمن. استخدم كل كلمة مرور مرة واحدة فقط وأدرها بحل آمن مناسب لحالة استخدامك.
الأخطاء الشائعة
- قراءة قيمة البت كضمانة: إنها تصف مساحة بحث نموذجية فقط وليست أمان الحساب بأكمله.
- إعادة استخدام كلمات المرور: كلمة مرور مسرّبة في خدمة واحدة تعرّض كل الحسابات ذات الكلمة نفسها للخطر (حشو بيانات الاعتماد).
- استخدام Math.random() بدل Crypto API: Math.random() غير محدّد للأغراض التشفيرية. تستخدم هذه الأداة crypto.getRandomValues() وتتخلص من القيم الحدّية لاختيار مؤشر منتظم.
- أنماط بدل العشوائية الحقيقية: تحتوي كلمات المرور «العشوائية» التي يبتكرها الإنسان على أنماط منهجية (مشيات لوحة المفاتيح، leetspeak) يعرفها المهاجمون ويختبرونها عمدًا.
حدود هذه الأداة
- عرض الإنتروبيا هو نموذج الطول × log₂(حجم المجموعة)؛ ولا يُمثَّل فيه ضمان توزّع المجموعات بدقة.
- لا حماية من التصيّد: حتى أقوى كلمة مرور لا تنفع إذا أُدخلت في موقع مزيّف.
- لا فحص مقابل تسريبات كلمات المرور (مثل Have I Been Pwned) — إعادة توليد فقط، دون التحقق من كلمات المرور الموجودة.
- لا وضع لعبارات المرور — سلاسل أحرف عشوائية فقط. استخدم أدوات أخرى لعبارات مرور يسهل تذكّرها.
المصادر
- BSI – إنشاء كلمات مرور آمنة: إرشادات حول الطول والاستخدام لمرة واحدة والإدارة الآمنة لكلمات المرور.
- NIST SP 800-63B-4: Digital Identity Guidelines الحالية حول متطلبات كلمات المرور وقوائم الحظر وأدوات المصادقة.
- OWASP Authentication Cheat Sheet: أفضل الممارسات لسياسات كلمات المرور في تطبيقات الويب، بما في ذلك التوصية بطول أقصى 64+ حرفًا.
- Web Cryptography Level 2 (W3C): مواصفة crypto.getRandomValues() لقيم عشوائية قوية تشفيريًا في المتصفح.