J2MEでバイト配列のハッシュ値を生成するにはどうすればよいですか?
非常に安全である必要はありませんが、高速である必要があります。
Josh Bloch が彼の『Effective Java book』で示唆しているように:
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();