ЕЗ
Екатерина Зозуля

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

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

РХ
Роман Хомченко

1) Вполне можно запихать их все последовательно в один StringBuilder, заранее указав размер. Кончено, это займёт около мегабайт памяти, но сама джава занимает гораздо больше.
2) Считать Хэш-сумму, от последовательности хэш сумм, передавая их туда последовательно. Алгоритм вычисления Хэшсуммы линейный и однопроходный, поэтому вполне можно передавать туда значения по одному, и не создавать единый массив из элементов.
3) Превратить хэши в числа BigInteger и просуммировать. Потом взять hash полученного числа.
И наконец
4) метод http://docs.oracle.com/javase/6/docs/api/java/util/List.html#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.

Похожие вопросы
Как расшифровать данный хеш? 18c78d63a268232622af93522095fea02a35
Как в Excel 2010 установить мастер суммирования? (чтобы частичную сумму найти)
Как расшифровать хеш?
Хеш-суммы файлов. Что это и для чего?
Возможно ли редактировать хеш суммы файлов?
Помогите расшифровать хеш.. . Очень надо, не для взлома. e9c8e4972d542ee8b81f438e9b8fafa8
расшифровка хеша 5dd24ed2fb56ffb65f94d53753aee52a
PHP. Суммирование чисел из нескольких txt файлов
pbpbb форум помогите расшифровать хеш
помогите расшифровать хеш Вот хеш 9ac7e8208387247d7994dced80a9f3c1