The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Crypt::Random::Source - Get weak or strong random data from pluggable sources

VERSION

version 0.14

SYNOPSIS

use Crypt::Random::Source qw(get_strong);

# get 10 cryptographically strong random bytes from an available source
my $bytes = get_strong(10);

DESCRIPTION

This module provides implementations for a number of byte oriented sources of random data.

See Crypt::Random::Source::Factory for a more powerful way to locate sources, and the various sources for specific implementations.

EXPORTS

get
get_weak
get_strong

These functions delegate to a source chosen by an instance of Crypt::Random::Source::Factory, calling get

CAVEATS

In versions prior to 0.13, rand could be used as a result of calling get_weak, or get, if no random device was available. This implies that not explicitly asking for get_strong on a non POSIX operating system (e.g. Win32 without the Win32 backend) could have resulted in non cryptographically random data.

Relatedly, the characterization of urandom as a weak source of randomness is also largely a misconception, see https://www.2uo.de/myths-about-urandom/ for example.

SEE ALSO

Crypt::Random, Crypt::Util

SUPPORT

Bugs may be submitted through the RT bug tracker (or bug-Crypt-Random-Source@rt.cpan.org).

AUTHOR

יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>

CONTRIBUTORS

  • Karen Etheridge <ether@cpan.org>

  • Florian Ragwitz <rafl@debian.org>

  • Graham Knop <haarg@haarg.org>

  • David Pottage <spudsoup@cpan.org>

  • Max Kanat-Alexander <mkanat@es-compy.(none)>

  • Edward Betts <edward@4angle.com>

COPYRIGHT AND LICENCE

This software is copyright (c) 2008 by Yuval Kogman.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.