В соответствии с документацией Tomcat JNDIRealm поддерживает два разных метода аутентификации: режим привязки и режим сравнения.
Вы используете «Режим привязки», и в документации сказано: «В целях безопасности каталог может хранить дайджест пароля пользователя, а не текстовую версию (см.« Переваренные пароли »для получения дополнительной информации). В этом случае , как часть простой операции связывания, каталог автоматически вычисляет правильный дайджест открытого текста пароля , предоставленного пользователем, перед проверкой его по сохраненному значению. Следовательно, в режиме связывания область не участвует в дайджесте обработка. Дайджест-атрибут не используется и будет игнорироваться, если установлен.". Поэтому вы не можете использовать значение хеш-функции с «Режимом привязки».
С «Режимом сравнения» вы сможете делать то, что пытаетесь сделать, но не рекомендуется использовать «Режим сравнения» из соображений безопасности, как можно увидеть здесь: «Режим сравнения имеет некоторые недостатки. Во-первых, Атрибуты connectionName и connectionPassword должны быть сконфигурированы так, чтобы область могла читать пароли пользователей в каталоге. По соображениям безопасности это обычно нежелательно, так как многие реализации каталога не позволяют даже менеджеру каталога читать эти пароли. Кроме того, область должен обрабатывать дайджесты паролей самостоятельно, включая различия в используемых алгоритмах и способах представления хэшей паролей в каталоге, однако иногда области может понадобиться доступ к сохраненному паролю, например, для поддержки аутентификации доступа к дайджесту HTTP (RFC 2069). (Примечание что дайджест-аутентификация HTTP отличается от хранения дайджестов паролей в хранилище для пользовательской информации, как описано выше). "
ссылки для документации Tomcat: http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#JNDIRealm и http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html#JNDIRealm