Crypt::Passwd::XS - Full XS implementation of common crypt() algorithms
use Crypt::Passwd::XS; my $plaintext = 'secret'; my $salt = '$1$1234'; my $crypted = Crypt::Passwd::XS::crypt( $plaintext, $salt );
This module provides several common crypt() schemes as full XS implementations. It allows you to validate crypted passwords that were hashed using a scheme that the system's native crypt() implementation does not support.
The crypt() function handles all supported crypt methods using the standard salt prefix system for determinging the crypt type.
The unix_md5_crypt() function performs a MD5 crypt regardless of the salt prefix.
The apache_md5_crypt() function performs a APR1 crypt regardless of the salt prefix.
The unix_des_crypt() funtion performs a traditional DES crypt regardless of the salt prefix.
The unix_sha256_crypt() function performs a SHA256 crypt regardless of the salt prefix.
The unix_sha512_crypt() function performs a SHA512 crypt regardless of the salt prefix.
The blowfish and Sun crypt() schemes are currently unsupported.
John Lightsey, <email@example.com>
Copyright (C) 2011 cPanel, Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.
The following files are adapted from other sources (primarily DragonFly BSD.) See the copyright notices in these files for full details:
crypt_to64.c - copyright 1991 University of California
crypt_to64.h - copyright 1991 University of California
des.c - copyright 1994 David Burren, Geoffrey M. Rehmet, Mark R V Murray
md5.c - copyright 1999, 2000, 2002 Aladdin Enterprises
md5.h - copyright 1999, 2000, 2002 Aladdin Enterprises
md5crypt.c - copyright Poul-Henning Kamp
md5crypt.h - copyright Poul-Henning Kamp
sha256crypt.c - public domain reference implementation by Ulrich Drepper
sha512crypt.c - public domain reference implementation by Ulrich Drepper