# أداة التحقق من bcrypt

تحقق مما إذا كانت كلمة مرور تطابق تجزئة bcrypt. الصق كلمة المرور وتجزئة تبدأ بـ $2a$, $2b$ أو $2y$، وستقرأ الأداة قيمة الملح والتكلفة من السلسلة، ثم تعيد حساب التجزئة وتبيّن ما إذا كان هناك تطابق. تساعد المطورين على استكشاف مشكلات تسجيل الدخول وإصلاحها، والتأكد من عمليات ترحيل قواعد البيانات، واختبار التجزئات من PHP أو Node.js أو Python. تُرفض التجزئات التي تتجاوز تكلفتها 12، ولا تُعرَض كلمة المرور مطلقًا.

## الأسئلة الشائعة

### كيف يعمل التحقق من bcrypt؟

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

### ما تنسيقات التجزئة المدعومة؟

تقبل الأداة تنسيق التجزئة المعياري ذي البادئات $2a$, $2b$ و$2y$، وتكلفة من رقمين و53 حرفًا لقيمة الملح والتجزئة. وتشمل هذه التنسيقات PHP password_hash وNode.js bcrypt وbcryptjs وPython bcrypt وSpring Security.

### لماذا رُفضت تجزئتي؟

يجب أن يبلغ طول التجزئة 60 حرفًا بالضبط، وأن تكون بالتنسيق $2b$10$ متبوعًا بـ53 حرفًا من أبجدية bcrypt. تأكد من أنها لم تُقتطع بسبب عمود في قاعدة البيانات أو تُحط بين علامتي اقتباس. تُرفض التجزئات التي تتجاوز تكلفتها 12 للحفاظ على سرعة الخدمة.

### هل يمكنني تجربة مثال معروف؟

متجه الاختبار المنشور لـ jBCrypt $2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i يخص كلمة المرور abc. أدخل كليهما وستظهر نتيجة تطابق، أما أي كلمة مرور أخرى فستظهر نتيجة عدم تطابق.

### لماذا حد التكلفة هو 12؟

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

### هل تعرض أداة التحقق كلمة مروري أو تخزنها؟

لا. تحتوي الاستجابة على التجزئة والنتيجة فقط، ولا تتضمن كلمة المرور مطلقًا. لا يُسجَّل أي شيء ولا يُحفَظ.

### هل يوجد حد أقصى لطول كلمة المرور؟

لا يقرأ bcrypt سوى أول 72 بايتًا من كلمة المرور، وترفض هذه الأداة كلمات المرور الأطول بدلًا من اقتطاعها. إذا اقتطع نظامك كلمة مرور أطول عند إنشاء التجزئة، فأدخل أول 72 بايتًا منها فقط.

### ما الفرق بين $2a$ و$2b$ و$2y$؟

تشير هذه البادئات إلى إصلاحات لأخطاء قديمة في التنفيذ: جاء $2y$ من إصلاح crypt_blowfish الذي أجرته PHP، وجاء $2b$ من إصلاح OpenBSD لكلمات المرور الطويلة. بالنسبة إلى كلمات المرور الصحيحة التي لا يتجاوز طولها 72 بايتًا، تنتج هذه البادئات التجزئة نفسها؛ لذا تتحقق الأداة من الأنواع الثلاثة.

### هل يمكنني التحقق هنا من تجزئات خوارزميات أخرى؟

لا. تتحقق هذه الأداة من تجزئات bcrypt فقط. استخدم أداة Argon2 Verifier للسلاسل التي تبدأ بـ $argon2.

### لماذا لا تطابق تجزئة bcrypt جديدة لكلمة مروري التجزئة المخزنة؟

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

إعلانك هنا؟

[راسلنا عبر البريد الإلكتروني](mailto:hi@dennn.is?subject=%D8%A7%D9%84%D8%A5%D8%B9%D9%84%D8%A7%D9%86%20%D8%B9%D9%84%D9%89%20OneClick%20Pro)

[إعلان مجموعة إضافات جاهزة للوكلاء من أجل WordPress.](https://sleekwp.com/?ref=oneclickpro)
