Ответ 1
Пароль, на который вы ссылаетесь, скорее всего отличается от пароля, предоставленного пользователями при входе в систему. Хотя вопрос использования неясен из вопроса, но, похоже, вы пытаетесь использовать имя пользователя/пароль, предоставленные внешними пользователями, для создания соединения с JMS Connection Factory. Это не звучит архитектурно для меня. Вы должны использовать только один учетный ключ для подключения к ConnectionFactory, который должен быть защищен (рассматривайте его как соединения db). Лучше использовать JNDI для поиска ConnectionFactory и обхода файлов управления именем пользователя и паролем.
Однако, если вы должны использовать эту технику, можете использовать следующий код. Я копирую его из проекта Gitblit, поскольку он был открыт в моем eclipse
Использование класса Java8 Base64:
final String authorization = httpRequest.getHeader("Authorization");
if (authorization != null && authorization.startsWith("Basic")) {
// Authorization: Basic base64credentials
String base64Credentials = authorization.substring("Basic".length()).trim();
String credentials = new String(Base64.getDecoder().decode(base64Credentials),
Charset.forName("UTF-8"));
// credentials = username:password
final String[] values = credentials.split(":",2);