Source: https://www.fil.univ-lille1.fr/~salson/portail/asd/cours/4_hachage-print.pdf