Если я правильно понимаю вашу терминологию, хеш-функция должна работать для любого размера массива, тогда как функция сжатия зависит от текущего размера. Таким образом, хеш-функция может возвращать то же самое 32-битное число, сжатие, например, вычислит модуль указанного числа, чтобы узнать, какой индекс массива использовать. Поскольку большинство реализаций хеш-таблицы сокращаются и динамически растут при изменении таблицы, имеет смысл разделить их.