Hashing um conjunto de inteiros de uma forma independente da ordem

Eu quero hash um conjunto de inteiros de tal forma que a ordem dos inteiros não tem um efeito sobre o valor de hash calculado. isto éH([32224,12232,564423]) == H([564423,32224,12232]).

O número de conjuntos exclusivos será da ordem de alguns milhões. Velocidade émuito importante, mas eu preciso saber o upperbound em colisões com uma abordagem escolhida.

Wikipedia tem uma boa seção sobrevetores de hashing, mas não entendo a matemática por trás dele para implementá-los com segurança no código. Eu apreciaria se alguém pudesse explicar a matemática envolvida com algum código. Idealmente, gostaria que o hash final fosse de 32 bits. Se for de alguma utilidade - eu vou implementar isso em Java.

Atualizar: Eu estou olhando especificamente para evitar a classificação dos inteiros no conjunto, por razões de desempenho (operando em muitos desses conjuntos).