Формат файла htdigest
Я пытаюсь написать код для работы с паролем htdigest. Документация, которую я могу найти, кажется, утверждает, что формат этого файла:
user:realm:MD5(user:realm:pass)
Если это так, то почему это не работает для меня? Я создал файл с командной строкой htdigest таким образом:
htdigest -c test b a
Когда мне предложили ввести пароль, я ввел 'c'. Это создает файл с содержанием:
a:b:02cc8f08398a4f3113b554e8105ebe4c
Однако, если я попытаюсь получить этот хэш, я не смогу,
echo a:b:c | md5
дает мне "49d6ea7ca1facf323ca1928995420354". Есть ли что-то очевидное, что я здесь скучаю?
Спасибо
3 ответа
echo
по умолчанию добавляет завершающую новую строку:
echo -n a:b:c | md5
Должно работать, как вы ожидаете.
Хм, кажется, я ответил на свой вопрос. Мой тестовый пример был ошибочным, 'echo' добавляет дополнительные символы (не уверен, какие именно). Например
echo a:b:c | wc
дает 5 символов вместо 5. Вычисление хеша по адресу http://md5-hash-online.waraxe.us/ дает правильное значение. Извините всех!
Вот как вы устанавливаете пароль для данного пользователя.
sudo htdigest /etc/apache2/.htdigest yourrealm.com yourusername