Função hash em java

Alguém poderia me mostrar (e explicar) uma função hash(função de dispersão) sem ser a de divisao? (key % tamanho)? Gostaria que fosse uma simples (e que exista). No caso tenho uma tabela de 11 posições que deve calclar a partir do numero do cpf seu indice, mas sem usar cpf % tamanho_tabela.

No fundo ele funciona que como o MAP<Key, Object>, Porém não somos nós que criamos a chave.
A ideia é que o próprio objeto fale como ele deve ser classificado, mas como?

Todos os objetos no java estendem da classe Object o qual contém o método HashCode o mesmo método conhece tudo sobre o seu objeto e fala para o Hash como ele deve classifica-lo.

DOC:
http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html#hashCode()

Explicação de seu funcionamento:

Implementação:

Set hash = new HashSet();

hash.add("Hello");