Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

crypt::passwdmd5(3) [centos man page]

PasswdMD5(3)						User Contributed Perl Documentation					      PasswdMD5(3)

NAME
Crypt::PasswdMD5 - Provides interoperable MD5-based crypt() functions SYNOPSIS
use Crypt::PasswdMD5; $cryptedpassword = unix_md5_crypt($password, $salt); $apachepassword = apache_md5_crypt($password, $salt); DESCRIPTION
the "unix_md5_crypt()" provides a crypt()-compatible interface to the rather new MD5-based crypt() function found in modern operating systems. It's based on the implementation found on FreeBSD 2.2.[56]-RELEASE and contains the following license in it: "THE BEER-WARE LICENSE" (Revision 42): <phk@login.dknet.dk> wrote this file. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp "apache_md5_crypt()" provides a function compatible with Apache's ".htpasswd" files. This was contributed by Bryan Hart <bryan@eai.com>. As suggested by William A. Rowe, Jr. <wrowe@lnd.com>, it is exported by default. For both functions, if a salt value is not supplied, a random salt will be generated. Contributed by John Peacock <jpeacock@cpan.org>. EXPORT None by default. HISTORY
$Id: PasswdMD5.pm,v 1.3 2004/02/17 11:21:38 lem Exp $ 19980710 luismunoz@cpan.org: Initial release 19990402 bryan@eai.com: Added apache_md5_crypt to create a valid hash for use in .htpasswd files 20001006 wrowe@lnd.com: Requested apache_md5_crypt to be exported by default. 20010706 luismunoz@cpan.org: Use Digest::MD5 instead of the (obsolete) MD5. $Log: PasswdMD5.pm,v $ Revision 1.3 2004/02/17 11:21:38 lem Modified the POD so that ABSTRACT can work Added usage example for apache_md5_crypt() Revision 1.2 2004/02/17 11:04:35 lem Added patch for random salts from John Peacock (Thanks John!) De-MS-DOS-ified the file Replaced some '' with q// to make Emacs color highlighting happy Added CVS docs Completed the missing sections of the POD documentation Changed my email address to the Perl-related one for consistency The file is now encoded in UTF-8 LICENSE AND WARRANTY
This code and all accompanying software comes with NO WARRANTY. You use it at your own risk. This code and all accompanying software can be used freely under the same terms as Perl itself. AUTHOR
Luis E. Mun~oz <luismunoz@cpan.org> SEE ALSO
perl(1). POD ERRORS
Hey! The above document had some coding errors, which are explained below: Around line 214: Non-ASCII character seen before =encoding in 'Mun~oz'. Assuming UTF-8 perl v5.16.3 2014-06-09 PasswdMD5(3)

Check Out this Related Man Page

Htpasswd(3pm)						User Contributed Perl Documentation					     Htpasswd(3pm)

NAME
Apache::Htpasswd - Manage Unix crypt-style password file. SYNOPSIS
use Apache::Htpasswd; $foo = new Apache::Htpasswd("path-to-file"); $foo = new Apache::Htpasswd({passwdFile => "path-to-file", ReadOnly => 1} ); # Add an entry $foo->htpasswd("zog", "password"); # Change a password $foo->htpasswd("zog", "new-password", "old-password"); # Change a password without checking against old password $foo->htpasswd("zog", "new-password", {'overwrite' => 1}); # Check that a password is correct $foo->htCheckPassword("zog", "password"); # Fetch an encrypted password $foo->fetchPass("foo"); # Delete entry $foo->htDelete("foo"); # If something fails, check error $foo->error; # Write in the extra info field $foo->writeInfo("login", "info"); # Get extra info field for a user $foo->fetchInfo("login"); DESCRIPTION
This module comes with a set of methods to use with htaccess password files. These files (and htaccess) are used to do Basic Authentication on a web server. The passwords file is a flat-file with login name and their associated crypted password. You can use this for non-Apache files if you wish, but it was written specifically for .htaccess style files. FUNCTIONS Apache::Htpasswd->new(...); As of version 1.5.4 named params have been added, and it is suggested that you use them from here on out. Apache::Htpasswd->new("path-to-file"); "path-to-file" should be the path and name of the file containing the login/password information. Apache::Htpasswd->new({passwdFile => "path-to-file", ReadOnly => 1, UseMD5 => 1, }); This is the prefered way to instantiate an object. The 'ReadOnly' param is optional, and will open the file in read-only mode if used. The 'UseMD5' is also optional: it will force MD5 password under Unix. If you want to support plain un-encrypted passwords, then you need to set the UsePlain option (this is NOT recommended, but might be necesary in some situations) error; If a method returns an error, or a method fails, the error can be retrieved by calling error() htCheckPassword("login", "password"); Finds if the password is valid for the given login. Returns 1 if passes. Returns 0 if fails. htpasswd("login", "password"); This will add a new user to the password file. Returns 1 if succeeds. Returns undef on failure. htDelete("login") Delete users entry in password file. Returns 1 on success Returns undef on failure. htpasswd("login", "new-password", "old-password"); If the old-password matches the login's password, then it will replace it with new-password. If the old-password is not correct, will return 0. htpasswd("login", "new-password", {'overwrite' => 1}); Will replace the password for the login. This will force the password to be changed. It does no verification of old-passwords. Returns 1 if succeeds Returns undef if fails fetchPass("login"); Returns encrypted password if succeeds. Returns 0 if login is invalid. Returns undef otherwise. fetchInfo("login"); Returns additional information if succeeds. Returns 0 if login is invalid. Returns undef otherwise. fetchUsers(); Will return either a list of all the user names, or a count of all the users. The following will return a list: my @users = $Htpasswd->fetchUsers(); The following will return the count: my $user_count = $Htpasswd->fetchUsers(); writeInfo("login", "info"); Will replace the additional information for the login. Returns 0 if login is invalid. Returns undef otherwise. CryptPasswd("password", "salt"); Will return an encrypted password using 'crypt'. If salt is ommitted, a salt will be created. INSTALLATION
You install Apache::Htpasswd, as you would install any perl module library, by running these commands: perl Makefile.PL make make test make install make clean If you are going to use MD5 encrypted passwords, you need to install Crypt::PasswdMD5. If you need to support SHA1 encrypted passwords, you need to install Digest::SHA and MIME::Base64. DOCUMENTATION
POD style documentation is included in the module. These are normally converted to manual pages and installed as part of the "make install" process. You should also be able to use the 'perldoc' utility to extract and read documentation from the module files directly. AVAILABILITY
The latest version of Apache::Htpasswd should always be available from: $CPAN/modules/by-authors/id/K/KM/KMELTZ/ Visit <URL:http://www.perl.com/CPAN/> to find a CPAN site near you. CHANGES
Revision 1.8.0 Added proper PREREQ_PM Revision 1.7.0 Handle SHA1 and plaintext. Also change the interface for allowing change of password without first checking old password. IF YOU DON'T READ THE DOCS AND SEE I DID THIS DON'T EMAIL ME! Revision 1.6.0 Handle Blowfish hashes when that's the mechanism crypt() uses. Revision 1.5.9 MD5 for *nix with new UseMD5 arg for new() Revision 1.5.8 Bugfix to htpasswd(). Revision 1.5.7 MD5 for Windows, and other minor changes. Revision 1.5.6 Minor enhancements. Revision 1.5.5 2002/08/14 11:27:05 Newline issue fixed for certain conditions. Revision 1.5.4 2002/07/26 12:17:43 kevin doc fixes, new fetchUsers method, new ReadOnly option, named params for new(), various others Revision 1.5.3 2001/05/02 08:21:18 kevin Minor bugfix Revision 1.5.2 2001/04/03 09:14:57 kevin Really fixed newline problem :) Revision 1.5.1 2001/03/26 08:25:38 kevin Fixed another newline problem Revision 1.5 2001/03/15 01:50:12 kevin Fixed bug to remove newlines Revision 1.4 2001/02/23 08:23:46 kevin Added support for extra info fields Revision 1.3 2000/04/04 15:00:15 meltzek Made file locking safer to avoid race conditions. Fixed typo in docs. Revision 1.2 1999/01/28 22:43:45 meltzek Added slightly more verbose error croaks. Made sure error from htCheckPassword is only called when called directly, and not by $self. Revision 1.1 1998/10/22 03:12:08 meltzek Slightly changed how files lock. Made more use out of carp and croak. Made sure there were no ^M's as per Randal Schwartz's request. BUGS
None known at time of writting. AUTHOR INFORMATION
Copyright 1998..2005, Kevin Meltzer. All rights reserved. It may be used and modified freely, but I do request that this copyright notice remain attached to the file. You may modify this module as you wish, but if you redistribute a modified version, please attach a note listing the modifications you have made. This is released under the same terms as Perl itself. Address bug reports and comments to: kmeltz@cpan.org The author makes no warranties, promises, or gaurentees of this software. As with all software, use at your own risk. SEE ALSO
Apache::Htgroup, Crypt::PasswdMD5, Digest::SHA, MIME::Base64 perl v5.12.4 2011-08-20 Htpasswd(3pm)
Man Page