No, bad. Using modulus will skew the results, allowing some people an unfair advantage. Unless 'n' is a divisor of the maximum possible value for RND, skew is inevitable.
oh right. the advantage would be negligible low but nevertheless making it divisible will do it:
$winner = floor( hexdec(substr($hash, strlen($hash)-8, 8)) $n) % $n + 1;