Во-первых, 4 шестнадцатеричные цифры не 4 байта. Поскольку все ваши примеры показывают 4 шестнадцатеричные цифры - 2 байта - я предполагаю, что вы имеете в виду 2 байта.
Есть только 65 536 различных хеш-значений, вот что вы делаете.
Выполнить хэш-функцию для всех 65 536 значений от 0000 до FFFF. Табулируйте результаты. Эта таблица является функцией. Он отображает входное значение в выходное значение.
Несмотря на то, что он хромой, он всегда правильный, он не очень большой (65 Кбайт) и очень быстрый после того, как вы сделали вычисления.
Вы не можете очень легко перепроектировать хэш-функции. Хорошие из них - сложные конечные автоматы, которые используют все входные биты каким-то «честным» способом, так что выходные значения резко отличаются для входных значений, которые отличаются только на несколько битов.
Если вы сравните 0000 с 0001, 0002, 0004, 0008, 0010, 0020, 0040, 0080, 0100, 0200, 0400, 0800, 1000, 2000, 4000 и 8000, вы сможете определить, какой бит вносит свой вклад в хэш Но я сомневаюсь в этом.