Похоже, что makepasswd
был изменен с использования API openssl для генерации (псевдо) случайных чисел на использование API, основанного на / dev / random
.
Проблема в том, что виртуальные машины и iOT (возможно) имеют низкую активность и не генерируют достаточную энтропию для выполнения сценария / makepasswd
, пьющего из / dev / random
Пока я пытался найти возможность пить случайные числа из / dev / urandom
, у него нет.
Я только что получил старую версию makepasswd
, так как это сценарий Perl, и указал сценарий на / opt / bin / makepasswd
в моей системе; и скрипт теперь работает как обычно, генерируя +100 паролей, которые мне нужны, за секунды.
Как видно из источника:
Новый makepasswd
:
my $buf = $RNG->bytes($bytes);
Старый makepasswd
:
my $buf = Crypt::OpenSSL::Random::random_pseudo_bytes($bytes);
Достаточно интересно, что данные и версия рядом с авторским правом имеют не было изменено, что на некоторое время сбило меня с пути.
В обоих из них:
$Program = 'makepasswd';
$Version = '1.10';
$Author = 'Rob Levin <levin@openproject.net>';
$Date = "Monday, 7 April 1999 at 22:56 (UCT)";
$Copyright = '1997-1999';
Однако из changelog.Debian.gz
Convert from Crypt::OpenSSL::Random to Bytes::Random::Secure (closes:
#792535).
-- Colin Watson <cjwatson@debian.org> Thu, 16 Jul 2015 11:45:20 +0100