ملعب PBKDF2
اشتق مفاتيح بـ PBKDF2-HMAC-SHA-1/256/512 بملحك وتكراراتك وطول المفتاح. إخراج hex وBase64 وpasslib مع التحقق من متجهات RFC 6070.
تُحسب PBKDF2 (RFC 8018) باستخدام Web Crypto API في المتصفح. توصي OWASP بـ600,000 تكرار لـ HMAC-SHA-256 و210,000 لـ HMAC-SHA-512. PBKDF2 ليست مقاومة على مستوى الذاكرة، لذا فضّل Argon2id للأنظمة الجديدة.
التحقق من كلمة مرور مقابل تجزئة
يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.
ما هو ملعب PBKDF2؟
احسب PBKDF2 (RFC 8018) بـ HMAC-SHA-1 أو SHA-256 أو SHA-512 وأي عدد تكرارات وملح وطول إخراج. وتُعرض النتائج بصيغ hex وBase64 وصيغة passlib $pbkdf2-sha256$، ويقبل المدقق أيضًا تجزئات Django pbkdf2_sha256$.
كيفية استخدام ملعب PBKDF2
- أدخل كلمة المرور.
- اختر دالة التجزئة (PRF) والتكرارات وطول المفتاح (بايت).
- أدخل الملح وترميزه، أو اتركه فارغًا لملح عشوائي.
- انقر التجزئة وانسخ ناتج hex أو Base64 أو الناتج المرمّز.
مثال
Password password, salt salt, HMAC-SHA-1, 4096 iterations, 20 bytes
4b007901b765489abead49d926f721d065a429c1 $pbkdf2-sha1$4096$c2FsdA$SwB5AbdlSJq.rUnZJvch0GWkKcE
قيمة hex هي متجه الاختبار 3 من RFC 6070.
متى تستخدم ملعب PBKDF2
استخدمه لاشتقاق مفاتيح للاختبار أو إعادة إنتاج متجهات RFC 6070 أو التحقق من تجزئات Django وpasslib. ولتخزين كلمات المرور الجديد فضّل Argon2id أو scrypt اللذين يعتمدان الذاكرة بكثافة.
كيف يعمل ملعب PBKDF2
يحسب PBKDF2 كتلًا T_i = U_1 ⊕ U_2 ⊕ … ⊕ U_c، حيث U_1 = HMAC(password, salt ‖ INT(i)) وU_j = HMAC(password, U_{j−1})، ويصل بينها حتى الطول المطلوب. وتنفّذ واجهة Web Crypto في المتصفح (deriveBits) الحساب. وتخزّن صيغة passlib التكرارات والملح والتجزئة بـ Base64 معدّل (يُستبدل + بـ .).
حالات الاستخدام الشائعة
- التحقق من تجزئة Django pbkdf2_sha256 أثناء الترحيل
- إعادة إنتاج متجهات اختبار RFC 6070
- اشتقاق مفاتيح AES من عبارة مرور للاختبار
- مقارنة أعداد التكرارات والأزمنة
الأسئلة الشائعة
كم تكرارًا أستخدم؟
توصي OWASP بـ 600,000 لـ HMAC-SHA-256 و210,000 لـ HMAC-SHA-512 و1,300,000 لـ HMAC-SHA-1.
هل PBKDF2 ما زال مقبولًا؟
نعم، خاصة حيث يُشترط اعتماد FIPS، لكنه لا يعتمد الذاكرة بكثافة، فتكسره وحدات GPU أسرع من Argon2id أو scrypt.
لماذا يهم طول المفتاح؟
طلب بايتات أكثر من ناتج التجزئة (مثل أكثر من 32 لـ SHA-256) يجعل PBKDF2 يحسب كتلًا إضافية، فتتضاعف تكلفة المدافع دون إبطاء المهاجمين.