A cognitive node in a cognitive radio network (CRN) temporarily and opportunistically uses a channel not being occupied by any licensed user. It is challenging to provide a rendezvous between any pair of nodes in CRNs. Enabling nodes to hop among channels is a dominant mechanism to solve the rendezvous problem without using a dedicated common control channel. Existing channel hopping solutions may suffer from poor or uneven rendezvous for different pairs of nodes. In this paper, we propose a novel distributed channel hopping protocol (HHCH) which efficiently provides rendezvous guarantee and fair rendezvous opportunity. The balanced rendezvous among nodes is provided by utilizing a Hadamard matrix while fair rendezvous opportunity is achieved by using a hash function. In addition to rendezvous guarantee and fairness, the HHCH protocol also provides high and even channel utilization. Analytical and simulation results verify that HHCH performs better in terms of time to rendezvous and network throughput when compared to existing representative protocols Jump-Stay, ACH, SYNC-ETCH, QLCH, and RQL.