securerandom

Cryptographic Random Number Generation

Functions

FunctionDescription
_srand_getrandomInternal: getrandom syscall (318 on x86-64).
srand_bytesFill buffer with n random bytes. Returns n on success, -1 on error.
_srand_hex_digitInternal: hex digit.
srand_hexGenerate hex-encoded random bytes. Writes 2*nbytes chars to out. Returns numb…
srand_base64Base64 encode random bytes. Returns chars written.
srand_uuid4Generate UUID v4 string (36 chars: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx).
srand_rangeRandom integer in range [lo, hi). Uses getrandom for uniform distribution.

Details

_srand_getrandom

fn _srand_getrandom(buf: &i8, n: i64) -> i64

Internal: getrandom syscall (318 on x86-64).

srand_bytes

fn srand_bytes(out: &i8, n: i64) -> i64

Fill buffer with n random bytes. Returns n on success, -1 on error.

_srand_hex_digit

fn _srand_hex_digit(v: i64) -> i64

Internal: hex digit.

srand_hex

fn srand_hex(out: &i8, nbytes: i64) -> i64

Generate hex-encoded random bytes. Writes 2*nbytes chars to out. Returns number of chars written.

srand_base64

fn srand_base64(out: &i8, nbytes: i64) -> i64

Base64 encode random bytes. Returns chars written.

srand_uuid4

fn srand_uuid4(out: &i8) -> i64

Generate UUID v4 string (36 chars: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx).

srand_range

fn srand_range(lo: i64, hi: i64) -> i64

Random integer in range [lo, hi). Uses getrandom for uniform distribution.