Para alguém que esteja procurando informações sobre o Tomcat 8.0.15 ou mais recente, provavelmente você deve usar o SecretKeyCredentialHandler com PBKDF2, já que é muito mais seguro (ou seja, mais difícil de decifrar) do que um simples resumo de mensagens.
Por exemplo, no seu server.xml:
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase">
<CredentialHandler className="org.apache.catalina.realm.SecretKeyCredentialHandler"
algorithm="PBKDF2WithHmacSHA512"
keyLength="256"
/>
</Realm>
Com esta configuração, use o seguinte para gerar a saída em hash da sua senha:
$CATALINA_HOME/bin/digest.sh -a "PBKDF2WithHmacSHA512" -i 100000 -s 16 -k 256 -h "org.apache.catalina.realm.SecretKeyCredentialHandler" "YOUR_PASSWORD"
com a contagem de iterações e o tamanho de sal (em bytes) de sua escolha. Note que o comprimento da chave precisa ser o mesmo que o definido em server.xml por causa do bug 60446 . Ele deve ser corrigido logo depois.
AVISO! Certifique-se de que sua senha não seja salva no histórico de comandos do seu shell. No bash isto é conseguido precedendo o comando com um espaço vazio.
O comando exibirá sua senha em texto simples e uma representação hexadecimal das credenciais resultantes, que você deve usar como seu atributo de senha em seu tomcat-users.xml.
A documentação do componente CredentialHandler pode ser encontrada aqui . Os valores possíveis para o atributo do algoritmo podem ser encontrados aqui .