Use /dev/urandom for platforms without arc4random, not srandom(), deduplicate code, do not read excessive random bytes Reviewed by pooka@