Authen-Passphrase

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

		"MIME::Base64" => "2.21",
		"Module::Build" => 0,
		"Test::More" => 0,
		"perl" => "5.006",
		"strict" => 0,
		"warnings" => 0,
	},
	requires => {
		"Authen::DecHpwd" => "2.003",
		"Carp" => 0,
		"Crypt::DES" => 0,
		"Crypt::Eksblowfish::Bcrypt" => "0.008",
		"Crypt::Eksblowfish::Uklblowfish" => "0.008",
		"Crypt::MySQL" => "0.03",
		"Crypt::PasswdMD5" => "1.0",
		"Crypt::UnixCrypt_XS" => "0.08",
		"Data::Entropy::Algorithms" => 0,
		"Digest" => "1.00",
		"Digest::MD4" => "1.2",
		"Digest::MD5" => "1.9953",
		"Digest::SHA" => 0,

META.json  view on Meta::CPAN

            "Module::Build" : 0,
            "perl" : "5.006",
            "strict" : 0,
            "warnings" : 0
         }
      },
      "runtime" : {
         "requires" : {
            "Authen::DecHpwd" : "2.003",
            "Carp" : 0,
            "Crypt::DES" : 0,
            "Crypt::Eksblowfish::Bcrypt" : "0.008",
            "Crypt::Eksblowfish::Uklblowfish" : "0.008",
            "Crypt::MySQL" : "0.03",
            "Crypt::PasswdMD5" : "1.0",
            "Crypt::UnixCrypt_XS" : "0.08",
            "Data::Entropy::Algorithms" : 0,
            "Digest" : "1.00",
            "Digest::MD4" : "1.2",
            "Digest::MD5" : "1.9953",
            "Digest::SHA" : 0,

META.yml  view on Meta::CPAN

    version: 0.008
  Authen::Passphrase::SaltedDigest:
    file: lib/Authen/Passphrase/SaltedDigest.pm
    version: 0.008
  Authen::Passphrase::VMSPurdy:
    file: lib/Authen/Passphrase/VMSPurdy.pm
    version: 0.008
requires:
  Authen::DecHpwd: 2.003
  Carp: 0
  Crypt::DES: 0
  Crypt::Eksblowfish::Bcrypt: 0.008
  Crypt::Eksblowfish::Uklblowfish: 0.008
  Crypt::MySQL: 0.03
  Crypt::PasswdMD5: 1.0
  Crypt::UnixCrypt_XS: 0.08
  Data::Entropy::Algorithms: 0
  Digest: 1.00
  Digest::MD4: 1.2
  Digest::MD5: 1.9953
  Digest::SHA: 0

lib/Authen/Passphrase/LANManager.pm  view on Meta::CPAN

	my($self) = @_;
	return "{LANMAN}".$self->hash_hex;
}

=back

=head1 SEE ALSO

L<Authen::Passphrase>,
L<Authen::Passphrase::LANManagerHalf>,
L<Crypt::DES>

=head1 AUTHOR

Andrew Main (Zefram) <zefram@fysh.org>

=head1 COPYRIGHT

Copyright (C) 2006, 2007, 2009, 2010, 2012
Andrew Main (Zefram) <zefram@fysh.org>

lib/Authen/Passphrase/LANManagerHalf.pm  view on Meta::CPAN

=cut

package Authen::Passphrase::LANManagerHalf;

{ use 5.006; }
use warnings;
use strict;

use Authen::Passphrase 0.003;
use Carp qw(croak);
use Crypt::DES;

our $VERSION = "0.008";

use parent "Authen::Passphrase";

=head1 CONSTRUCTORS

=over

=item Authen::Passphrase::LANManagerHalf->new(ATTR => VALUE, ...)

lib/Authen/Passphrase/LANManagerHalf.pm  view on Meta::CPAN

sub _hash_of {
	my($self, $passphrase) = @_;
	$passphrase = uc($passphrase);
	$passphrase = "\0".$passphrase."\0\0\0\0\0\0\0\0";
	my $key = "";
	for(my $i = 0; $i != 8; $i++) {
		my $a = ord(substr($passphrase, $i, 1));
		my $b = ord(substr($passphrase, $i+1, 1));
		$key .= chr((($b >> $i) | ($a << (8-$i))) & 0xfe);
	}
	return Crypt::DES->new($key)->encrypt("KGS!\@#\$%");
}

sub match {
	my($self, $passphrase) = @_;
	return $self->_passphrase_acceptable($passphrase) &&
		$self->_hash_of($passphrase) eq $self->{hash};
}

sub as_crypt {
	my($self) = @_;
	return "\$LM\$".$self->hash_hex;
}

=back

=head1 SEE ALSO

L<Authen::Passphrase>,
L<Authen::Passphrase::LANManager>,
L<Crypt::DES>

=head1 AUTHOR

Andrew Main (Zefram) <zefram@fysh.org>

=head1 COPYRIGHT

Copyright (C) 2006, 2007, 2009, 2010, 2012
Andrew Main (Zefram) <zefram@fysh.org>



( run in 0.354 second using v1.01-cache-2.11-cpan-9a3d99fc6dc )