Crypt::PRNG::Sober128 - Cryptographically secure PRNG based on Sober128 (stream cipher) algorithm
Contents
Description
Provides an interface to the Sober128 based pseudo random number generator
All methods and functions are the same as for Crypt::PRNG.
Functions
random_bytes
See "random_bytes" in Crypt::PRNG.
random_bytes_hex
See "random_bytes_hex" in Crypt::PRNG.
random_bytes_b64
See "random_bytes_b64" in Crypt::PRNG.
random_bytes_b64u
See "random_bytes_b64u" in Crypt::PRNG.
random_string
See "random_string" in Crypt::PRNG.
random_string_from
See "random_string_from" in Crypt::PRNG.
rand
See "rand" in Crypt::PRNG.
irand
See "irand" in Crypt::PRNG.
Methods
new
See "new" in Crypt::PRNG.
bytes
See "bytes" in Crypt::PRNG.
bytes_hex
See "bytes_hex" in Crypt::PRNG.
bytes_b64
See "bytes_b64" in Crypt::PRNG.
bytes_b64u
See "bytes_b64u" in Crypt::PRNG.
string
See "string" in Crypt::PRNG.
string_from
See "string_from" in Crypt::PRNG.
double
See "double" in Crypt::PRNG.
int32
See "int32" in Crypt::PRNG.
Name
Crypt::PRNG::Sober128 - Cryptographically secure PRNG based on Sober128 (stream cipher) algorithm
See Also
• Crypt::PRNG
• <https://en.wikipedia.org/wiki/SOBER-128>
perl v5.40.1 2025-08-10 Crypt::PRNG::Sober128(3pm)
Synopsis
### Functional interface:
use Crypt::PRNG::Sober128 qw(random_bytes random_bytes_hex random_bytes_b64 random_string random_string_from rand irand);
$octets = random_bytes(45);
$hex_string = random_bytes_hex(45);
$base64_string = random_bytes_b64(45);
$base64url_string = random_bytes_b64u(45);
$alphanumeric_string = random_string(30);
$string = random_string_from('ACGT', 64);
$floating_point_number_0_to_1 = rand;
$floating_point_number_0_to_88 = rand(88);
$unsigned_32bit_int = irand;
### OO interface:
use Crypt::PRNG::Sober128;
$prng = Crypt::PRNG::Sober128->new;
#or
$prng = Crypt::PRNG::Sober128->new("some data used for seeding PRNG");
$octets = $prng->bytes(45);
$hex_string = $prng->bytes_hex(45);
$base64_string = $prng->bytes_b64(45);
$base64url_string = $prng->bytes_b64u(45);
$alphanumeric_string = $prng->string(30);
$string = $prng->string_from('ACGT', 64);
$floating_point_number_0_to_1 = rand;
$floating_point_number_0_to_88 = rand(88);
$unsigned_32bit_int = irand;
