# Crypt::PRNG::Fortuna - phpMan

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

       $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::Fortuna];

       $prng = [Crypt::PRNG::Fortuna]->new;
       #or
       $prng = [Crypt::PRNG::Fortuna]->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;

## DESCRIPTION
    Provides an interface to the Fortuna 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].

## SEE ALSO
    *   [Crypt::PRNG]

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

