سؤال
أحاول كتابة بعض التعليمات البرمجية للعمل مع ملف كلمة المرور htdigest. يبدو أن الوثائق التي يمكنني العثور عليها تدعي أن تنسيق ذلك الملف هو:
user:realm:MD5(user:realm:pass)
إذا كان هذا هو الحال، فلماذا لا يعمل هذا بالنسبة لي؟ قمت بإنشاء ملف مع سطر الأوامر HTDigest هكذا:
htdigest -c test b a
عند المطالبة بكلمة مرور دخلت "C". يؤدي هذا إلى إنشاء ملف مع المحتويات:
a:b:02cc8f08398a4f3113b554e8105ebe4c
ومع ذلك، إذا حاولت أن أشقت هذا التجزئة لا أستطيع،
echo a:b:c | md5
يعطيني "49D6E7CA1FACF323CA1928995420354". هل هناك شيء واضح أنني أفتقد هنا؟
شكرا
المحلول
echo
افتراضيا يضيف خط جديد زائدة:
echo -n a:b:c | md5
يجب أن تعمل كما تتوقع.
نصائح أخرى
جلالة الملك، يبدو أنني أجبت على سؤالي الخاص. تم ربط حالة الاختبار الخاصة بي، "صدى" يضيف أحرفا إضافية (غير متأكد من). على سبيل المثال
echo a:b:c | wc
يعطي 6 أحرف بدلا من 5. حساب التجزئة في http://md5-hash-online.waraxe.us/ يعطي القيمة الصحيحة. اعتذر للجميع!
فيما يلي كيفية تعيين كلمة المرور للمستخدم معين.
sudo htdigest /etc/apache2/.htdigest yourrealm.com yourusername