формат файла htdigest
Вопрос
Я пытаюсь написать код для работы с файлом паролей htdigest.В документации, которую я могу найти, утверждается, что формат этого файла:
user:realm:MD5(user:realm:pass)
Если это так, то почему мне это не помогает?Я создал файл с помощью командной строки htdigest таким образом:
htdigest -c test b a
Когда меня попросили ввести пароль, я ввел «c».При этом создается файл с содержимым:
a:b:02cc8f08398a4f3113b554e8105ebe4c
Однако, если я попытаюсь получить этот хэш, я не смогу,
echo a:b:c | md5
дает мне "49d6ea7ca1facf323ca1928995420354".Есть ли что-то очевидное, чего мне здесь не хватает?
Спасибо
Решение
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