Crypt::PRNG::ChaCha20 - Cryptographically secure PRNG based on ChaCha20 (stream
cipher) algorithm
### Functional interface:
use Crypt::PRNG::ChaCha20 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::ChaCha20;
$prng = Crypt::PRNG::ChaCha20->new;
#or
$prng = Crypt::PRNG::ChaCha20->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;
Provides an interface to the ChaCha20 based pseudo random number generator
All methods and functions are the same as for Crypt::PRNG.
See "random_bytes" in Crypt::PRNG.
See "random_bytes_hex" in Crypt::PRNG.
See "random_bytes_b64" in Crypt::PRNG.
See "random_bytes_b64u" in Crypt::PRNG.
See "random_string" in Crypt::PRNG.
See "random_string_from" in Crypt::PRNG.
See "rand" in Crypt::PRNG.
See "irand" in Crypt::PRNG.
See "new" in Crypt::PRNG.
See "bytes" in Crypt::PRNG.
See "bytes_hex" in Crypt::PRNG.
See "bytes_b64" in Crypt::PRNG.
See "bytes_b64u" in Crypt::PRNG.
See "string" in Crypt::PRNG.
See "string_from" in Crypt::PRNG.
See "double" in Crypt::PRNG.
See "int32" in Crypt::PRNG.
- Crypt::PRNG
- <https://tools.ietf.org/html/rfc7539>