| Authen-Passphrase documentation | Contained in the Authen-Passphrase distribution. |
Authen::Passphrase::Clear - cleartext passphrases
use Authen::Passphrase::Clear;
$ppr = Authen::Passphrase::Clear->new("passphrase");
if($ppr->match($passphrase)) { ...
$passphrase = $ppr->passphrase;
$userPassword = $ppr->as_rfc2307;
An object of this class is a passphrase recogniser that accepts
some particular passphrase which it knows. This is a subclass of
Authen::Passphrase, and this document assumes that the reader is
familiar with the documentation for that class.
Warning: Storing a passphrase in cleartext, as this class does, is a very bad idea. It means that anyone who sees the passphrase file immediately knows all the passphrases. Do not use this unless you really know what you're doing.
Returns a passphrase recogniser object that stores the specified passphrase in cleartext and accepts only that passphrase.
Generates a cleartext passphrase recogniser from the supplied RFC2307 encoding. The string must consist of "{CLEARTEXT}" (case insensitive) followed by the passphrase.
These methods are part of the standard Authen::Passphrase interface.
The passphrase method trivially works.
Andrew Main (Zefram) <zefram@fysh.org>
Copyright (C) 2006, 2007, 2009, 2010 Andrew Main (Zefram) <zefram@fysh.org>
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Authen-Passphrase documentation | Contained in the Authen-Passphrase distribution. |
package Authen::Passphrase::Clear; { use 5.006; } use warnings; use strict; use Authen::Passphrase 0.003; use Carp qw(croak); our $VERSION = "0.007"; use parent "Authen::Passphrase"; # An object of this class is a blessed scalar containing the passphrase.
sub new { my($class, $passphrase) = @_; $passphrase = "$passphrase"; return bless(\$passphrase, $class); }
sub from_rfc2307 { my($class, $userpassword) = @_; if($userpassword =~ /\A\{(?i:cleartext)\}/) { $userpassword =~ /\A\{.*?\}([!-~]*)\z/ or croak "malformed {CLEARTEXT} data"; return $class->new($1); } return $class->SUPER::from_rfc2307($userpassword); }
sub match { my($self, $passphrase) = @_; return $passphrase eq $$self; } sub passphrase { ${$_[0]} } sub as_rfc2307 { my($self) = @_; croak "can't put this passphrase into an RFC 2307 string" if $$self =~ /[^!-~]/; return "{CLEARTEXT}".$$self; }
1;