Хеширование нескольких строк в один хеш - PullRequest
0 голосов
/ 14 июня 2019

У меня есть множество строк. И я хочу создать один хэш. Сначала я хэшировал все строки этого массива, как здесь:

for (int i = 0; i < strings.length(); i++)
{
    strings[i] = hash(strings[i]);
}

Так что теперь у меня есть хэши на уровне 1. Как на картинке ниже. Есть ли алгоритм для выполнения следующих шагов? Я не хочу делать меркл дерево.

enter image description here

Ответы [ 2 ]

2 голосов
/ 14 июня 2019

Я чувствую, что Arrays.hashCode(Object a[]) можно использовать.

Пожалуйста, посмотрите, поможет ли Arrays.hashCode(Object a[]).

String[] strings = {"Hello 1", "Hello 1", "Hello 1"};
int hasCode = Arrays.hashCode(strings);
System.out.println(hasCode);
2 голосов
/ 14 июня 2019

На вашем месте я бы соединил все строки в одну, а затем хэшировал бы эту длинную строку.

Например.

        StringJoiner j=new StringJoiner("");//Or any other separator
        Arrays.asList(strings).forEach(j::add);
        String finalHash=hash(j.toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...