How to construct Hash function of type $H:\{0,1\}^x \times G \mapsto Z_p^*$? In many cryptographic protocols design, I have seen the statement 
'Choose a Hash function $H:\{0,1\}^x \times G \mapsto Z_p^*$ i.e a hash function which takes as input a binary string of finite length and a random element of some group and outputs an element of multiplicative group of prime field. How could I construct such a hash function?
Let $G$ have size $M.$ You can map the elements of $G$ in some order in a one to one fashion into $\{1,2,\cdots,M\},$ which can itself be mapped to a length $k=\lceil \log_2 M\rceil$ bitstring $(g_1,\ldots,g_k)$ where $2^{k-1}\leq M&lt; 2^k$ by the normal encoding of positive integers.

Let $(u_1,\ldots,u_v) \in \{0,1\}$ be the binary string. Apply $H$ to the concatenated string, $$z=H(u_1,\ldots,u_v,g_1,\ldots,g_v),$$ convert the (say 512 bit) output of $H$ to an integer $z$ by the usual encoding. The final output of this process is $z\mod p.$