Как создать хеш-значение в J2ME?
Вопрос
Как я могу сгенерировать хеш-значение для байтового массива в 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();
Не связан с StackOverflow