Switch from deprecated Data::Entropy::Algorithms to Crypt::PRNG --- Build.PL.orig 2025-06-15 06:51:13 UTC +++ Build.PL @@ -30,7 +30,7 @@ Module::Build->new( "Crypt::MySQL" => "0.03", "Crypt::PasswdMD5" => "1.0", "Crypt::UnixCrypt_XS" => "0.08", - "Data::Entropy::Algorithms" => 0, + "Crypt::PRNG" => 0, "Digest" => "1.00", "Digest::MD4" => "1.2", "Digest::MD5" => "1.9953", --- META.json.orig 2025-06-15 06:51:13 UTC +++ META.json @@ -42,7 +42,7 @@ "Crypt::MySQL" : "0.03", "Crypt::PasswdMD5" : "1.0", "Crypt::UnixCrypt_XS" : "0.08", - "Data::Entropy::Algorithms" : 0, + "Crypt::PRNG" : 0, "Digest" : "1.00", "Digest::MD4" : "1.2", "Digest::MD5" : "1.9953", --- META.yml.orig 2025-06-15 06:51:13 UTC +++ META.yml @@ -88,7 +88,7 @@ requires: Crypt::MySQL: 0.03 Crypt::PasswdMD5: 1.0 Crypt::UnixCrypt_XS: 0.08 - Data::Entropy::Algorithms: 0 + Crypt::PRNG: 0 Digest: 1.00 Digest::MD4: 1.2 Digest::MD5: 1.9953 --- lib/Authen/Passphrase/BigCrypt.pm.orig 2025-06-15 06:51:13 UTC +++ lib/Authen/Passphrase/BigCrypt.pm @@ -73,7 +73,7 @@ use Crypt::UnixCrypt_XS 0.08 qw(base64_to_block base64 use Authen::Passphrase::DESCrypt; use Carp qw(croak); use Crypt::UnixCrypt_XS 0.08 qw(base64_to_block base64_to_int12); -use Data::Entropy::Algorithms 0.000 qw(rand_int); +use Crypt::PRNG 0.000 qw(irand); our $VERSION = "0.008"; @@ -150,7 +150,7 @@ sub new { if defined $salt; croak "\"$value\" is not a valid salt size" unless $value == 12; - $salt = rand_int(1 << $value); + $salt = irand() % (1 << $value); } elsif($attr eq "hash") { croak "hash specified redundantly" if @hashes || defined($passphrase); --- lib/Authen/Passphrase/BlowfishCrypt.pm.orig 2025-06-15 06:51:13 UTC +++ lib/Authen/Passphrase/BlowfishCrypt.pm @@ -98,7 +98,7 @@ use Crypt::Eksblowfish::Bcrypt 0.008 qw(bcrypt_hash en use Authen::Passphrase 0.003; use Carp qw(croak); use Crypt::Eksblowfish::Bcrypt 0.008 qw(bcrypt_hash en_base64 de_base64); -use Data::Entropy::Algorithms 0.000 qw(rand_bits); +use Crypt::PRNG 0.000 qw(random_bytes); our $VERSION = "0.008"; @@ -194,7 +194,7 @@ sub new { } elsif($attr eq "salt_random") { croak "salt specified redundantly" if exists $self->{salt}; - $self->{salt} = rand_bits(128); + $self->{salt} = random_bytes(16); } elsif($attr eq "hash") { croak "hash specified redundantly" if exists($self->{hash}) || --- lib/Authen/Passphrase/Crypt16.pm.orig 2025-06-15 06:51:13 UTC +++ lib/Authen/Passphrase/Crypt16.pm @@ -70,7 +70,7 @@ use Crypt::UnixCrypt_XS 0.08 qw(base64_to_block base64 use Authen::Passphrase::DESCrypt; use Carp qw(croak); use Crypt::UnixCrypt_XS 0.08 qw(base64_to_block base64_to_int12); -use Data::Entropy::Algorithms 0.000 qw(rand_int); +use Crypt::PRNG 0.000 qw(irand); our $VERSION = "0.008"; @@ -147,7 +147,7 @@ sub new { if defined $salt; croak "\"$value\" is not a valid salt size" unless $value == 12; - $salt = rand_int(1 << $value); + $salt = irand() % (1 << $value); } elsif($attr eq "hash") { croak "hash specified redundantly" if defined($hash) || defined($passphrase); --- lib/Authen/Passphrase/DESCrypt.pm.orig 2025-06-15 06:51:13 UTC +++ lib/Authen/Passphrase/DESCrypt.pm @@ -127,7 +127,7 @@ use Crypt::UnixCrypt_XS 0.08 qw( base64_to_int24 int24_to_base64 base64_to_int12 int12_to_base64 ); -use Data::Entropy::Algorithms 0.000 qw(rand_int); +use Crypt::PRNG 0.000 qw(irand); our $VERSION = "0.008"; @@ -260,7 +260,7 @@ sub new { if exists $self->{salt}; croak "\"$value\" is not a valid salt size" unless $value == 12 || $value == 24; - $self->{salt} = rand_int(1 << $value); + $self->{salt} = irand() % (1 << $value); } elsif($attr eq "hash") { croak "hash specified redundantly" if exists($self->{hash}) || --- lib/Authen/Passphrase/MD5Crypt.pm.orig 2025-06-15 06:51:13 UTC +++ lib/Authen/Passphrase/MD5Crypt.pm @@ -85,7 +85,7 @@ use Crypt::PasswdMD5 1.0 qw(unix_md5_crypt); use Authen::Passphrase 0.003; use Carp qw(croak); use Crypt::PasswdMD5 1.0 qw(unix_md5_crypt); -use Data::Entropy::Algorithms 0.000 qw(rand_int); +use Crypt::PRNG 0.000 qw(irand); our $VERSION = "0.008"; @@ -147,7 +147,7 @@ sub new { if exists $self->{salt}; $self->{salt} = ""; for(my $i = 8; $i--; ) { - $self->{salt} .= chr(rand_int(64)); + $self->{salt} .= chr(irand() % (64)); } $self->{salt} =~ tr#\x00-\x3f#./0-9A-Za-z#; } elsif($attr eq "hash_base64") { --- lib/Authen/Passphrase/NetscapeMail.pm.orig 2025-06-15 06:51:13 UTC +++ lib/Authen/Passphrase/NetscapeMail.pm @@ -52,7 +52,7 @@ use Carp qw(croak); use Authen::Passphrase 0.003; use Carp qw(croak); -use Data::Entropy::Algorithms 0.000 qw(rand_bits); +use Crypt::PRNG 0.000 qw(random_bytes); use Digest::MD5 1.99_53 (); our $VERSION = "0.008"; @@ -116,7 +116,7 @@ sub new { } elsif($attr eq "salt_random") { croak "salt specified redundantly" if exists $self->{salt}; - $self->{salt} = unpack("H*", rand_bits(128)); + $self->{salt} = unpack("H*", random_bytes(16)); } elsif($attr eq "hash") { croak "hash specified redundantly" if exists($self->{hash}) || --- lib/Authen/Passphrase/PHPass.pm.orig 2025-06-15 06:51:13 UTC +++ lib/Authen/Passphrase/PHPass.pm @@ -66,7 +66,7 @@ use Carp qw(croak); use Authen::Passphrase 0.003; use Carp qw(croak); -use Data::Entropy::Algorithms 0.000 qw(rand_bits); +use Crypt::PRNG 0.000 qw(random_bytes); use Digest::MD5 1.99_53 (); our $VERSION = "0.008"; @@ -201,7 +201,7 @@ sub new { } elsif($attr eq "salt_random") { croak "salt specified redundantly" if exists $self->{salt}; - $self->{salt} = _en_base64(rand_bits(48)); + $self->{salt} = _en_base64(random_bytes(6)); } elsif($attr eq "hash") { croak "hash specified redundantly" if exists($self->{hash}) || --- lib/Authen/Passphrase/SaltedDigest.pm.orig 2025-06-15 06:51:13 UTC +++ lib/Authen/Passphrase/SaltedDigest.pm @@ -75,7 +75,7 @@ use Carp qw(croak); use Authen::Passphrase 0.003; use Carp qw(croak); -use Data::Entropy::Algorithms 0.000 qw(rand_bits); +use Crypt::PRNG 0.000 qw(random_bytes); use Digest 1.00; use MIME::Base64 2.21 qw(encode_base64 decode_base64); use Module::Runtime 0.011 qw(is_valid_module_name use_module); @@ -186,7 +186,7 @@ sub new { if exists $self->{salt}; croak "\"$value\" is not a valid salt length" unless $value == int($value) && $value >= 0; - $self->{salt} = rand_bits($value * 8); + $self->{salt} = random_bytes($value); } elsif($attr eq "hash") { croak "hash specified redundantly" if exists($self->{hash}) || --- lib/Authen/Passphrase/VMSPurdy.pm.orig 2025-06-15 06:51:13 UTC +++ lib/Authen/Passphrase/VMSPurdy.pm @@ -81,7 +81,7 @@ use Carp qw(croak); use Authen::DecHpwd 2.003 qw(lgi_hpwd UAI_C_PURDY UAI_C_PURDY_V UAI_C_PURDY_S); use Authen::Passphrase 0.003; use Carp qw(croak); -use Data::Entropy::Algorithms 0.000 qw(rand_int); +use Crypt::PRNG 0.000 qw(irand); our $VERSION = "0.008"; @@ -181,7 +181,7 @@ sub new { } elsif($attr eq "salt_random") { croak "salt specified redundantly" if exists $self->{salt}; - $self->{salt} = rand_int(65536); + $self->{salt} = irand() % (65536); } elsif($attr eq "hash") { croak "hash specified redundantly" if exists($self->{hash}) ||