Equal keys must produce equal hashes
HashMap first narrows candidates by hash and then checks equality. Collisions are allowed, so equal hashes do not imply equal keys. The required direction is the opposite: whenever two keys compare equal, their Hash implementations must feed the same bytes in the same order.