مولّد htpasswd

أنشئ سطر .htpasswd لخادم Apache أو nginx وترويسة تفويض HTTP Basic انطلاقًا من اسم مستخدم وكلمة مرور، مع تجزئة bcrypt أو APR1 أو SHA-1، بالكامل داخل متصفحك.

جارٍ تحميل الأداة…

مولّد htpasswdاكتب اسم مستخدم وكلمة مرور لتحصل على شيئين في آن واحد: سطر .htpasswd جاهز للصق في المصادقة الأساسية لـ Apache أو nginx، وترويسة تفويض HTTP Basic المطابقة التي سيرسلها عميلك. الترويسة هي base64 لـ user:pass وتُحدَّث فورًا، بينما يُحسب سطر .htpasswd المُجزَّأ عند الضغط على إنشاء. كل شيء يعمل محليًا باستخدام Web Crypto API ومُجزِّئ WebAssembly داخل المتصفح، لذا لا تُرفع كلمة مرورك إلى أي خادم.

ما هي مولّد htpasswd؟

مولّد htpasswd أداة مجانية تعمل داخل المتصفح لإنشاء بيانات الاعتماد المستخدمة في مصادقة HTTP الأساسية. يستخدمه مديرو الأنظمة ومطورو الويب لحماية مجلد أو لوحة إدارة باسم مستخدم وكلمة مرور دون تثبيت أداة سطر الأوامر htpasswd الخاصة بـ Apache. ينتج سطرًا واحدًا user:hash تضيفه إلى ملف .htpasswd، مع اختيار bcrypt (الأقوى، صيغة $2y$) أو APR1 (نسخة MD5 المحمولة من Apache، صيغة $apr1$) أو SHA-1 (صيغة SHA). كما يشتق ترويسة Authorization: Basic المطابقة كي تتمكن من اختبار بيانات الاعتماد نفسها باستخدام curl أو عميل REST. ومعامل تكلفة bcrypt قابل للضبط في الإعدادات للحصول على تجزئة أقوى أو أسرع.

كيفية استخدام مولّد htpasswd

  1. أدخل اسم المستخدم الذي سيسجّل الدخول.
  2. اكتب كلمة المرور التي ستحمي الحساب؛ تبقى في هذا الحقل ولا تُرسل إلى أي مكان.
  3. انسخ ترويسة تفويض Basic فورًا إذا كنت تحتاجها فقط لطلب API أو اختبار curl.
  4. افتح الإعدادات لاختيار خوارزمية التجزئة (bcrypt أو APR1 أو SHA-1)، ومعامل التكلفة لـ bcrypt.
  5. اضغط على إنشاء لحساب سطر .htpasswd المُجزَّأ، ثم انسخه إلى ملف .htpasswd في خادمك.

أمثلة

سطر bcrypt لمستخدم واحد

المدخل

المستخدم: admin، كلمة المرور: s3cret، الخوارزمية: bcrypt (التكلفة 10)

المخرج

admin:$2y$10$... (تجزئة bcrypt من 60 حرفًا، ملح عشوائي في كل مرة)

ترويسة HTTP Basic لاختبار API

المدخل

المستخدم: admin، كلمة المرور: s3cret

المخرج

Basic YWRtaW46czNjcmV0

سطر APR1 (MD5 من Apache) للإعدادات القديمة

المدخل

المستخدم: web، كلمة المرور: pass123، الخوارزمية: APR1

المخرج

web:$apr1$<الملح>$<تجزئة من 22 حرفًا>

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

هل تُرسَل كلمة مروري إلى خادم؟
لا. تُحسب كل من ترويسة Basic وتجزئة .htpasswd بالكامل داخل متصفحك باستخدام Web Crypto API ومُجزِّئ WebAssembly داخل المتصفح. لا يُرفع أو يُخزَّن أي شيء على أي خادم، لذا تعمل الأداة دون اتصال ولا تغادر كلمة مرورك الصفحة أبدًا.
أي تجزئة ينبغي أن أختار؟
استخدم bcrypt للإعدادات الجديدة؛ فهو الأكثر مقاومة للكسر ومدعوم في إصدارات Apache وnginx الحديثة. وAPR1 ($apr1$) هو نسخة MD5 المحمولة من Apache، وهو مفيد للإعدادات القديمة. أما SHA-1 ({SHA}) فهو الأضعف ويُفضَّل تجنّبه ما لم يتطلبه نظام معيّن صراحةً.
لماذا يستغرق زر إنشاء لحظةً؟
صُمِّم bcrypt وAPR1 عمدًا ليكونا بطيئين لمقاومة هجمات القوة الغاشمة، كما يُحمِّل bcrypt وحدة WebAssembly صغيرة عند أول استخدام. معامل التكلفة الأعلى يجعل bcrypt أبطأ لكن أقوى. أما SHA-1 وترويسة Basic فهما فوريان.
هل يطابق أمر htpasswd الحقيقي؟
نعم. تستخدم أسطر bcrypt البادئة $2y$ التي يتوقعها Apache، ويستخدم APR1 صيغة $apr1$ القياسية بملح عشوائي، ويستخدم SHA-1 مخطط {SHA}، وكلها متوافقة مع الملفات التي يولّدها htpasswd.
هل يمكنني استخدام هذا مع nginx؟
نعم. يقرأ auth_basic_user_file في nginx صيغة .htpasswd نفسها، لذا يعمل سطر bcrypt أو APR1 مباشرةً. لا يدعم nginx مخطط {SHA}، لذا اختر bcrypt أو APR1 له.

أدوات ذات صلة