Text_Password
Class that provides various types of password generation.
Usage
Generating passwords is a very common task in web applications. This package provides an easy-to-use and intuitive API to generate:
- pronounceable passwords
- unpronounceable passwords
- passwords based on a given string
For the last point, multiple, simple obfuscation algorithms are supported.
Creating a Pronouncable Password
<?php
require_once 'Text/Password.php';
// Create pronouncable password of 10 characters.
echo Text_Password::create() . "\n";
// Create 3 different pronouncable passwords of length 8.
print_r(Text_Password::createMultiple(3, 8));
?>
Creating an Unpronouncable Password
<?php
require_once 'Text/Password.php';
// Create unpronounceable password of length 8 with a, b, and c as
// possible characters.
echo Text_Password::create(8, 'unpronounceable', 'abc') . "\n";
// Create 4 different unpronounceable passwords of length 10.
print_r(Text_Password::createMultiple(4, 10, 'unpronounceable'));
// Creating unpronounceable password of 8 chars with only alphanumeric
// characters. Other classes that can be specified are 'numeric', 'alphabetic'
// and '' for all characters.
echo Text_Password::create(8, 'unpronounceable', 'alphanumeric') . "\n";
?>
Creating passwords based on a given string:
<?php
require_once 'Text/Password.php';
// Create password from login 'olivier', type is 'reverse'. Other supported
// types are:
//
// - 'rot13'
// - 'rotx'
// - 'rotx++',
// - 'rotx--',
// - 'xor',
// - 'ascii_rotx',
// - 'ascii_rotx++',
// - 'ascii_rotx--',
// - 'shuffle',
echo Text_Password::createFromLogin('olivier', 'reverse') . "\n";
// Create multiple passwords from array of logins.
$logins = array('olivier', 'martin', 'vanhoucke', 'jansen');
print_r(Text_Password::createMultipleFromLogin($logins, 'reverse'));
?>
Installation
PEAR
pear install Text_Password
Composer
./composer.phar require pear/text_password