Вопрос

Как я могу сгенерировать хеш-значение для байтового массива в J2ME?

Это не должно быть очень очень безопасно, но это должно быть быстро.

Это было полезно?

Решение

Как предложил Джош Блох в своей книге «Эффективная Java»:

public int hashCode() {
   int result = 17;
   for (int i = 0; i < array.length; i++) {
      result = 31*result + (int)array[i];
   }
   return result;
}

Другие советы

Если у вас уже есть зависимость от Apache Commons Lang , вы также можете использовать HashCodeBuilder :

new HashCodeBuilder().append(bytes).toHashCode();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top