manpagez: man pages & more
man Crypt::PRNG::Fortuna(3)
Home | html | info | man
Crypt::PRNG::Fortuna(3)                    User Contributed Perl Documentation



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

       o   Crypt::PRNG(3)

       o   <https://en.wikipedia.org/wiki/Fortuna_%28PRNG%29>

perl v5.34.3                      2026-05-11           Crypt::PRNG::Fortuna(3)

cryptx 0.89.0 - Generated Tue May 12 09:27:26 CDT 2026
© manpagez.com 2000-2026
Individual documents may contain additional copyright information.