added alternative if openssl_random_pseudo_bytes not found