formato de arquivo htdigest
Pergunta
Eu estou tentando escrever algum código para trabalhar com um arquivo de senhas htdigest. A documentação posso encontrar parece alegação de que o formato do arquivo é:
user:realm:MD5(user:realm:pass)
Se for esse o caso, então por que não faz este trabalho para mim? Eu criei um arquivo com o htdigest linha de comando assim:
htdigest -c test b a
Quando for solicitada uma senha entrei 'c'. Isso cria um arquivo com o conteúdo:
a:b:02cc8f08398a4f3113b554e8105ebe4c
No entanto, se eu tentar derivar esse hash não posso,
echo a:b:c | md5
me dá "49d6ea7ca1facf323ca1928995420354". Existe algo óbvio que estou em falta aqui?
Graças
Solução
echo
por padrão adiciona uma nova linha de fuga:
echo -n a:b:c | md5
deve funcionar como você espera.
Outras dicas
Hm, parece que eu respondi minha própria pergunta. Meu caso de teste foi falho, 'eco' está adicionando caracteres extras (não tenho certeza qual). Por exemplo
echo a:b:c | wc
dá 6 caracteres em vez de 5. Calculando o hash em http: // md5-hash on-line .waraxe.us / dá o valor correto. Desculpe a todos!
Aqui está como você definir a senha para um determinado usuário.
sudo htdigest /etc/apache2/.htdigest yourrealm.com yourusername