Вопрос

Я пытаюсь написать код для работы с файлом паролей 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top