التجزئة/التشفير

Bcrypt Hash + Verify

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


                    

Bcrypt is a deliberately slow password-hashing algorithm: unlike MD5 or SHA-256, it intentionally requires heavy computation so that brute-forcing passwords stays impractical even if a database of hashes leaks.

How to use it

Common uses

Things to keep in mind

Pick a cost factor that keeps hashing around 100-300ms on your target server — a balance between security and login-time load.

Bcrypt truncates passwords longer than 72 bytes — characters beyond that limit are ignored by the algorithm.

مقالة عن هذه الأداة: Bcrypt: لماذا تُجزَّأ كلمات المرور ببطء لا بسرعة

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

هل أحتاج إلى إنشاء ملح (salt) بشكل منفصل قبل استخدام bcrypt؟

لا، خوارزمية bcrypt تولّد ملحًا عشوائيًا تلقائيًا وتدمجه ضمن الهاش الناتج، فلا حاجة لإدارته أو تخزينه بشكل منفصل.

ماذا يحدث إذا كانت كلمة المرور أطول من 72 بايت؟

تقتصر خوارزمية bcrypt على أول 72 بايت من كلمة المرور فقط، وأي أحرف بعد هذا الحد تُقتطع بصمت دون أي تنبيه.

لماذا تستغرق عملية التجزئة وقتًا طويلًا عند زيادة قيمة التكلفة؟

رفع عامل التكلفة يضاعف زمن الحساب أسّيًا بشكل متعمد، فكلما زادت التكلفة زادت مقاومة الهاش لهجمات التخمين الآلي (brute force)، مع تباطؤ ملحوظ حسب قدرة الجهاز.

هل يوجد حد لطول كلمة المرور في bcrypt؟

نعم، تعالج خوارزمية bcrypt أول 72 بايت فقط من كلمة المرور — وأي شيء أطول يُتجاهل بصمت دون تنبيه. عمليًا نادرًا ما يشكّل هذا مشكلة، لكن يجدر تذكّر ذلك عند التعامل مع كلمات مرور طويلة جدًا أو أحرف غير ASCII قد يشغل الحرف الواحد منها عدة بايتات.

لماذا لا تزال bcrypt مُوصى بها رغم وجود Argon2؟

أثبتت bcrypt جدارتها عمليًا على مدى عقود، وهي مدعومة على نطاق واسع في جميع اللغات والأطر، وتظل خيارًا موثوقًا تمامًا. يُوصى بـ Argon2 كخيار أولوية للأنظمة الجديدة بفضل مقاومته لهجمات GPU/ASIC، لكن bcrypt لا تُعدّ غير آمنة — فقط أقل مقاومة للأجهزة المتخصصة.

مقالات: التجزئة/التشفير

Hash Generator: ما الفرق بين MD5 وSHA-1 وSHA-256

لماذا لا تزال MD5 تُستخدم للتحقق من سلامة الملفات، لكن ليس لكلمات المرور.

Checksum Verifier: كيف تتحقق من أن الملف غير تالف

لماذا يؤكد تطابق المجموع الاختباري سلامة الملف، لكن ليس من أنشأه.

HMAC: كيف تختلف التجزئة بمفتاح عن التجزئة العادية

لماذا لا يحمي SHA-256 العادي من التلاعب برسالة، بينما يحمي HMAC.

UUID: كيف تُولَّد معرّفات لا تتكرر تقريبًا أبدًا

لماذا يمكن توليد UUID v4 بشكل مستقل على ملايين الأجهزة دون خطر التصادم.

مولّد كلمات المرور: ما الذي يجعل كلمة المرور قوية فعلًا

لماذا تكون كلمة مرور طويلة من كلمات القاموس أقوى من كلمة قصيرة برموز وأرقام.

AES: كيف يعمل التشفير المتماثل

لماذا يشفّر نفس المفتاح البيانات ويفكّ تشفيرها في AES، وكيف يختلف ذلك عن التشفير غير المتماثل.

Argon2: لماذا فازت هذه الخوارزمية بمسابقة تجزئة كلمات المرور

كيف تدافع Argon2 بشكل أفضل ضد الهجمات باستخدام بطاقات الرسوميات مقارنة بخوارزميات تجزئة كلمات المرور الأقدم.

Scrypt: لماذا تحتاج الخوارزمية إلى كل هذه الذاكرة

لماذا تتطلب scrypt عمدًا ذاكرة كبيرة لتصعيب الكسر على أجهزة ASIC.

TOTP: كيف تعمل الرموز أحادية الاستخدام في تطبيقات المصادقة

لماذا يعمل رمز Google Authenticator دون إنترنت ويتزامن مع الخادم عبر الوقت فقط.

PBKDF2: أقدم معيار لتمديد المفاتيح

لماذا يتزايد عدد تكرارات PBKDF2 الموصى به كل عام.

X.509: ماذا يوجد داخل شهادة SSL

ما الذي يتحقق منه المتصفح بالضبط في شهادة موقع قبل عرض القفل الأخضر.

PGP: كيف يعمل التشفير بمفتاح عام وخاص

لماذا يمكن مشاركة المفتاح العام لـ PGP بحرية، لكن ليس المفتاح الخاص أبدًا.