Суммирование нескольких Хеш сумм

Всем привет. Появилась необходимость суммировать от 2 и более хеш сумм. В моем случае штук 6 тысяч.хеш сумм надо соединить в 1 значение. Сами понимаете, собирать хеш суммы в 1 стринг просто приклеивая их друг к другу не получится. Надо их суммировать. Как это сделать программно? Пишу на java.
Эти хеш суммы отправляются на удаленный сервер, где идет дальнейшая проверка. Необходимо лишь суммировать их, приведя к какому то единому виду

1) Вполне можно запихать их все последовательно в один StringBuilder, заранее указав размер. Кончено, это займёт около мегабайт памяти, но сама джава занимает гораздо больше.
2) Считать Хэш-сумму, от последовательности хэш сумм, передавая их туда последовательно. Алгоритм вычисления Хэшсуммы линейный и однопроходный, поэтому вполне можно передавать туда значения по одному, и не создавать единый массив из элементов.
3) Превратить хэши в числа BigInteger и просуммировать. Потом взять hash полученного числа.
И наконец
4) метод hashCode() у контейнера List в джаве вычисляет хэш как раз по элементам массива. Поэтому берём массив с этими хэшами и вызываем метод hashCode - задача решена стандартными методами.

StringBuffer не катит. Надо ведь мататическая сумма (я тоже вначале на StringBuffer подумал ))).
Если суммы уже вычислены то иного выхода не вижу кроме как конвертировать хеши (стринги) в BigInteger и сумырывать.
Но есть еще 2 варианта:
если хеши вычисляются походу через MessageDigest.update(byte[] input) . Но это будет не математическая функция.
Еще можно оперировать хешами String обьектов.
String s ="something";
s.hashCode();
выполняется значительно быстрее чем BigInteger.BigInteger(hashString, 16) ;
Но s.hashCode(); значительно уменьшает область значений - до 2^32.