Como gerar um valor hash em J2ME?
Pergunta
Como posso gerar valor de hash para um array de bytes, em J2ME?
Ele não tem que ser muito, muito segura, mas deve ser rápido.
Solução
Como sugerido por Josh Bloch em seu livro Effective Java:
public int hashCode() {
int result = 17;
for (int i = 0; i < array.length; i++) {
result = 31*result + (int)array[i];
}
return result;
}
Outras dicas
Se você já tem uma dependência em Apache Commons Lang você pode também usar HashCodeBuilder
:
new HashCodeBuilder().append(bytes).toHashCode();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow