Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9d4c2b6c

Von Moritz Bunkus vor fast 12 Jahren hinzugefügt

  • ID 9d4c2b6ce82aa8c6852177b5f77a82f604f0c2f5
  • Vorgänger e7c035b4
  • Nachfolger 0d1bb510

Modul Digest::SHA1 auch nicht mehr als Fallback versuchen

Wird schlicht nicht mehr benötigt: Digest::SHA kam mit Perl 5.9.3 in
Core, und wir setzen 5.10.1 voraus.

Unterschiede anzeigen:

SL/Auth/Password.pm
use strict;
use Carp;
use Digest::MD5 ();
use Digest::SHA ();
sub hash {
my ($class, %params) = @_;
if (!$params{algorithm}) {
$params{algorithm} = 'SHA256S';
$params{fallback_algorithm} = 'MD5';
}
$params{algorithm} ||= 'SHA256S';
my $salt = $params{algorithm} =~ m/S$/ ? $params{login} : '';
if ($params{algorithm} =~ m/^SHA256/) {
if (eval { require Digest::SHA; 1 }) {
return '{' . $params{algorithm} . '}' . Digest::SHA::sha256_hex($salt . $params{password});
} elsif ($params{fallback_algorithm}) {
return $class->hash(%params, algorithm => $params{fallback_algorithm});
} else {
die 'Digest::SHA is not available';
}
return '{' . $params{algorithm} . '}' . Digest::SHA::sha256_hex($salt . $params{password});
} elsif ($params{algorithm} =~ m/^SHA1/) {
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';
}
return '{' . $params{algorithm} . '}' . Digest::SHA::sha1_hex($salt . $params{password});
} elsif ($params{algorithm} =~ m/^MD5/) {
require Digest::MD5;
return '{' . $params{algorithm} . '}' . Digest::MD5::md5_hex($salt . $params{password});
} elsif ($params{algorithm} eq 'CRYPT') {

Auch abrufbar als: Unified diff