From 9867ff7a8327fc2847de299caa05e94211859b12 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Thu, 30 Mar 2017 17:49:26 +0200 Subject: [PATCH 1/1] PVE::Tools::encrypt_pw() - new helper copied from pve-access-control --- src/PVE/Tools.pm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm index fe35ef2..406aa2a 100644 --- a/src/PVE/Tools.pm +++ b/src/PVE/Tools.pm @@ -1443,4 +1443,18 @@ sub enter_systemd_scope { die "systemd job never completed\n" if !$done; } +my $salt_starter = time(); + +sub encrypt_pw { + my ($pw) = @_; + + $salt_starter++; + my $salt = substr(Digest::SHA::sha1_base64(time() + $salt_starter + $$), 0, 8); + + # crypt does not want '+' in salt (see 'man crypt') + $salt =~ s/\+/X/g; + + return crypt(encode("utf8", $pw), "\$5\$$salt\$"); +} + 1; -- 2.39.2