Формат файла htdigest

Я пытаюсь написать код для работы с файлом паролей htdigest. Документация, которую я могу найти, похоже, утверждает, что формат этого файла:

user:realm:MD5(user:realm:pass)

Если это так, то почему у меня это не работает? Я создал файл с командной строкой htdigest таким образом:

htdigest -c test b a

Когда меня попросили ввести пароль, я ввел «c». Это создает файл с содержимым:

a:b:02cc8f08398a4f3113b554e8105ebe4c

Однако, если я попытаюсь получить этот хеш, я не смогу,

echo a:b:c | md5

дает мне "49d6ea7ca1facf323ca1928995420354". Есть ли что-то очевидное, что мне здесь не хватает?

Спасибо

Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
7
0
7 807
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Хм, похоже, я ответил на свой вопрос. Мой тестовый пример был ошибочным, «эхо» добавляет дополнительные символы (не уверен, какие именно). Например

echo a:b:c | wc

дает 6 символов вместо 5. Вычисление хэша в http://md5-hash-online.waraxe.us/ дает правильное значение. Извините всех!

Ответ принят как подходящий

echo по умолчанию добавляет завершающую новую строку:

echo -n a:b:c | md5

Должно работать так, как вы ожидаете.

Вот как вы устанавливаете пароль для данного пользователя.

sudo htdigest /etc/apache2/.htdigest yourrealm.com yourusername

Другие вопросы по теме