مولد Hash bcrypt
إنشاء بصمة
الأعلى = أبطأ وأكثر أمانًا. 12 قيمة افتراضية جيدة.
بين حين وآخر يكون لديك hash bcrypt من نسخة احتياطية قديمة وكلمة مرور نصية، وتحتاج معرفة هل يتطابقان. أو لديك كلمة مرور وتريد hash الذي سينتجه عامل cost معين. تفعل هذه الأداة الأمرين: اكتب كلمة مرور فتولد hash جديدا، أو الصق hash ومرشحا فتخبرك هل نجح التحقق، باستخدام نفس المقارنة ثابتة الزمن التي يستخدمها فحص تسجيل الدخول في الإنتاج.
توليد bcrypt أو التحقق منه
-
1
اختر وضعا
ولّد hash جديدا من كلمة مرور، أو تحقق من كلمة مرور مقابل hash موجود من نوع `$2a$` / `$2b$` / `$2y$`.
-
2
للتوليد: أدخل النص وcost
Cost من 4 إلى 13؛ 10-12 طبيعي. ينشأ salt عشوائي من 16 بايت لكل hash.
-
3
للتحقق: الصق hash والنص
تستخرج الأداة salt وcost من hash وتعيد تجزئة النص بنفس المعاملات.
-
4
اقرأ النتيجة
وضع التوليد ينسخ hash بطول 60 محرفا؛ ووضع التحقق يعيد تطابقا أخضر أو عدم تطابق أحمر.
داخل وضع التحقق
مع hash مخزن مثل:
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
يقوم المتحقق بما يلي:
- يحلل version (
2b) وcost (12) وsalt (أول 22 محرفا بعد cost) وdigest (آخر 31 محرفا). - يعيد تشغيل bcrypt على النص المرشح باستخدام salt وcost المستخرجين.
- يقارن digest الناتج بالأصلي باستخدام مقارنة ثابتة الزمن.
المقارنة الناجحة تعطي true؛ وأي اختلاف يعطي false.
المقارنة ثابتة الزمن
مقارنة سلسلتين باستخدام == الساذج تعود فور اختلاف أول بايت، قناة توقيت جانبية قد تسرب hash رقما بعد رقم عبر عدد كاف من العينات. تستخدم فحوص كلمات المرور في الإنتاج (وهذه الأداة) مقارنة ثابتة الزمن تفحص كل بايت دائما، لذلك لا يعتمد زمن القرار على عدد البايتات الأولى المتطابقة.
حالات تشخيص شائعة
| العرض | السبب المرجح |
|---|---|
| يفشل التحقق وأنت متأكد من كلمة المرور | مسافات بيضاء لاحقة أو BOM في الإدخال. أزل الاثنين. |
يفشل التحقق مع version 2y |
بعض المكتبات لا تحب 2y؛ لكنه صالح ومتوافق. أعد التجزئة بـ 2b لاحقا. |
| Hash قصير جدا / مشوه | ليس hash من bcrypt. MD5 طوله 32 محرف hex، وSHA-1 طوله 40، وbcrypt طوله 60 مع فواصل $. |
| تحذير اختلاف cost | cost المخزن أدنى من الحد الأدنى لسياستك. أعد التجزئة عند أول تسجيل دخول ناجح. |
إعادة التجزئة عند تسجيل الدخول
أفضل ممارسة: عندما يسجل المستخدم دخوله بنجاح، افحص هل لدى hash المخزن cost أقل من سياستك الحالية. إذا كان كذلك، أعد تجزئة كلمة المرور بالتكلفة الجديدة وحدّث قاعدة البيانات. خلال بضعة أشهر ترفع مستوى قاعدة المستخدمين كلها دون مطالبة أحد بتغيير كلمة مروره.
ما لا تفعله الأداة
- التحقق المجمّع، مصممة لـ hash واحد في كل مرة.
- الكسر أو التخمين الشامل، هجمات القاموس أو rainbow-table خارج النطاق عمدا.
- استرجاع كلمة المرور الأصلية، bcrypt أحادي الاتجاه؛ إذا نسيت كلمة المرور فالمسار الوحيد هو إعادة التعيين.
الأسئلة الشائعة
تُرسل إلى خادمنا عبر اتصال مشفر، لأن التجزئة والتحقق يُحسبان هناك. لا تُخزن ولا تُسجل، ولا تُضاف أبدا إلى رابط الصفحة.
لأن salt يولد عشوائيا لكل hash. هذه هي الفكرة كلها، مستخدمان لهما كلمة المرور نفسها يحصلان على hashes مختلفة، مما يهزم جداول قوس قزح (rainbow tables).
نعم، هذا بالضبط ما يفعله وضع التحقق: الصق hash الذي لديك، والصق كلمة مرور مرشحة، فتؤكد الأداة التطابق أو تنفيه.
نعم. كل المتغيرات الحديثة تعمل معا، digest متوافق عبر الإصدارات؛ الاختلاف في الوسم فقط. بعض hashes $2$ القديمة من أنظمة حقبة 2000 قد تحتاج مكتبة بدعم صريح للصيغ القديمة.
أدوات ذات صلة
مشفر ملفات Base64
شفّر أي ملف (PDF، ZIP، صورة، ملف تنفيذي) إلى نص Base64 للتضمين في JSON أو البريد أو YAML أو data URIs. يعمل محليا، بلا رفع.
مرمز شفرة A1Z26
رمز النص باستخدام شفرة A1Z26 (A=1, B=2, ... Z=26) أو فك تسلسل أرقام إلى حروف، مع فاصل قابل للتخصيص.
مشفّر قيصر
شفّر وفك تشفير النص باستخدام شفرة قيصر. أي إزاحة من 1-25، مع دعم ROT13 كحالة خاصة، والحفاظ على علامات الترقيم وحالة الأحرف.
مشفر ومفكك Base58
رمّز نص UTF-8 أو بايتات سداسية عشرية وفك Base58 بأمان باستخدام أبجدية Bitcoin أو Ripple أو Flickr، مع رفض المحارف غير الصالحة.
مولد bcrypt
ولّد hash من نوع bcrypt لكلمة مرور نصية. عامل cost قابل للضبط من 4 إلى 13، ومتوافق مع Laravel وDjango وNode وPHP.
مشفر شفرة Atbash
شفّر النص أو فك تشفيره باستخدام شفرة Atbash، وهي استبدال عبري يطابق A-Z مع Z-A. العملية نفسها تشفر وتفك التشفير.
الأداة متاحة بلغات أخرى
- bcrypt Hash Oluşturucu [TR]
- Generador de Hash bcrypt [ES]
- Générateur de hachage bcrypt [FR]
- bcrypt-hashgenerator [NL]
- bcrypt 해시 생성기 [KO]
- Generator Hash bcrypt [ID]
- bcrypt Hash Generator [EN]
- Trình tạo hash bcrypt [VI]
- bcrypt 哈希生成器 [ZH]
- bcrypt Hashジェネレーター [JA]
- ตัวสร้าง bcrypt Hash [TH]
- Gerador de Hash bcrypt [PT]
- bcrypt-Hash-Generator [DE]
- bcrypt-hashgenerator [SV]
- Generator hashy bcrypt [PL]
- Generatore di hash bcrypt [IT]
- Генератор bcrypt-хешей [RU]