R: Generate random bytes and numbers with OpenSSL

rand_bytes {openssl} | R Documentation

## Generate random bytes and numbers with OpenSSL

### Description

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

### Usage

    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/manmaster/man3/RAND_bytes.html

### 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)

[Package openssl version 1.0.1 Index]