- Tumbleweed 0.89.0-1.1
- Leap-16.0
- Leap-15.6
| Crypt::PRNG::Fortuna(3) | User Contributed Perl Documentation | Crypt::PRNG::Fortuna(3) |
NAME¶
Crypt::PRNG::Fortuna - Cryptographically secure PRNG based on Fortuna algorithm
SYNOPSIS¶
### Functional interface:
use Crypt::PRNG::Fortuna qw(random_bytes random_bytes_hex random_bytes_b64 random_bytes_b64u
random_string random_string_from rand irand);
my $octets = random_bytes(45);
my $hex_string = random_bytes_hex(45);
my $base64_string = random_bytes_b64(45);
my $base64url_string = random_bytes_b64u(45);
my $alphanumeric_string = random_string(30);
my $string = random_string_from('ACGT', 64);
my $floating_point_number_0_to_1 = rand;
my $floating_point_number_0_to_88 = rand(88);
my $unsigned_32bit_int = irand;
### OO interface:
use Crypt::PRNG::Fortuna;
my $prng = Crypt::PRNG::Fortuna->new;
my $seeded_prng = Crypt::PRNG::Fortuna->new("some data used for seeding PRNG");
my $octets = $prng->bytes(45);
my $hex_string = $prng->bytes_hex(45);
my $base64_string = $prng->bytes_b64(45);
my $base64url_string = $prng->bytes_b64u(45);
my $alphanumeric_string = $prng->string(30);
my $string = $prng->string_from('ACGT', 64);
my $floating_point_number_0_to_1 = $prng->double;
my $floating_point_number_0_to_88 = $prng->double(88);
my $unsigned_32bit_int = $prng->int32;
DESCRIPTION¶
Provides an interface to the Fortuna-based pseudo-random number generator.
This is a thin wrapper around Crypt::PRNG with the algorithm fixed to Fortuna. All functions and methods accept the same arguments and return the same values as the corresponding Crypt::PRNG entries.
EXPORT¶
Nothing is exported by default.
You can export selected functions:
use Crypt::PRNG::Fortuna qw(random_bytes random_string);
Or all of them at once:
use Crypt::PRNG::Fortuna ':all';
FUNCTIONS¶
All functions below behave exactly like the corresponding Crypt::PRNG functions, but use a hidden "Crypt::PRNG::Fortuna" object internally.
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¶
Unless noted otherwise, assume $prng is an existing "Crypt::PRNG::Fortuna" object created via "new".
new¶
my $prng = Crypt::PRNG::Fortuna->new; my $seeded_prng = Crypt::PRNG::Fortuna->new($seed);
Creates a PRNG object using the Fortuna algorithm. If $seed is omitted, the object is automatically seeded by the underlying Crypt::PRNG logic.
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.
SEE ALSO¶
- Crypt::PRNG
- <https://en.wikipedia.org/wiki/Fortuna_%28PRNG%29>
| 2026-05-11 | perl v5.42.1 |