Ответ 1
Существует wiki-документ: http://www.jboss.org/community/docs/DOC-9703, который описывает это.
Стандартная конфигурация источника данных в JBoss требует, чтобы имя пользователя и пароль пользователя базы данных находились в файле xxx-ds.xml. Если я определяю свой источник данных как c3p0 mbean, я сталкиваюсь с той же проблемой.
Существует ли стандартный способ шифрования пользователя и пароля? Что хорошего места для сохранения ключа?
Это, конечно, относится также к tomcat - файлам context.xml, spring конфигурационным файлам и т.д.
Существует wiki-документ: http://www.jboss.org/community/docs/DOC-9703, который описывает это.
для части spring, вы можете использовать собственное расширение spring PropertyPlaceholderConfigurer с переопределенным String convertPropertyValue (String originalValue). Поскольку javadoc для метода упоминает его (фактически в суперклассе PropertyResourceConfigurer):
Преобразуйте заданное значение свойства из источника свойств в значение, которое должно быть применено.
Реализация по умолчанию просто возвращает исходное значение. Может быть переопределено в подклассах, например, для обнаружения зашифрованных значений и их дешифрования соответственно.
Это означает, что вы можете настроить свой источник данных с помощью ${encoded.value} в файле spring xml и декодировать значение перед инъекцией декодированного значения в источник данных.