- if (eval { require Digest::SHA; 1 }) {
- return '{' . $params{algorithm} . '}' . Digest::SHA::sha1_hex($salt . $params{password});
-
- } elsif (eval { require Digest::SHA1; 1 }) {
- return '{' . $params{algorithm} . '}' . Digest::SHA1::sha1_hex($salt . $params{password});
-
- } elsif ($params{fallback_algorithm}) {
- return $class->hash(%params, algorithm => $params{fallback_algorithm});
-
- } else {
- die 'Neither Digest::SHA nor Digest::SHA1 is available';
- }