rand_bytes

0th

Percentile

Generate random bytes and numbers with OpenSSL

this set of functions generates random bytes or numbers from OpenSSL. This provides a cryptographically secure alternative to R's default random number generator. rand_bytes generates n random, cryptographically secure bytes, while pseudo_rand_bytes generates n pseudo-random bytes, with no guarantee of cryptographic security. rand_num uses rand_bytes to generate cryptographically secure random numbers, rather than bytes.

Usage
rand_bytes(n = 1)
pseudo_rand_bytes(n = 1)
rand_num(n = 1)
Arguments
n
number of random bytes or numbers to generate
References

OpenSSL manual: https://www.openssl.org/docs/crypto/RAND_bytes.html

Aliases
  • pseudo_rand_bytes
  • rand_bytes
  • rand_num
Examples
rnd <- rand_bytes(10)
as.numeric(rnd)
as.character(rnd)
as.logical(rawToBits(rnd))

# bytes range from 0 to 255
rnd <- rand_bytes(100000)
hist(as.numeric(rnd), breaks=-1:255)

# Generate random doubles between 0 and 1
rand_num(5)

# Use CDF to map [0,1] into random draws from a distribution
x <- qnorm(rand_num(1000), mean=100, sd=15)
hist(x)

y <- qbinom(rand_num(1000), size=10, prob=0.3)
hist(y)
Documentation reproduced from package openssl, version 0.9.4, License: MIT + file LICENSE

Community examples

Looks like there are no examples yet.