use openssl_random_pseudo_bytes to generate random bytes