PEAR Manual
Prev |  | Next

# Supported types of passwords

Supported types of passwords -- This part of the documentation introduces the different supported types of passwords and gives examples for their usage.

## Pronounceable passwords

One feature of the package is the ability to create passwords that are pronounceable.

Example 57-1. Creating a pronounceable password:
    require_once "Text/Password.php";

    echo "Creating pronounceable password of 10 chars....: ";
    echo Text_Password::create() . "\n\n";

    echo "Creating 3 different pronounceable passwords...: ";
    print_r(Text_Password::createMultiple(3));

## Unpronounceable passwords

In addition to pronounceable passwords Text_Password can also handle passwords that are not pronounceable.

Example 57-2. Creating a unpronounceable password:
    require_once "Text/Password.php";

    echo "\nCreating unpronounceable password of 8 chars with a,b,c as possible chars....:\t";
    echo Text_Password::create(8, 'unpronounceable', 'a,b,c') . "\n\n";

    echo "\nCreating 4 different unpronounceable passwords...:\n";
    print_r(Text_Password::createMultiple(4, 10, 'unpronounceable'));

    echo "\nCreating unpronounceable password of 8 chars with numeric chars:\t";
    echo Text_Password::create(8, 'unpronounceable', 'numeric') . "\n\n";

    echo "\nCreating unpronounceable password of 8 chars with alphanumeric chars:\t";
    echo Text_Password::create(8, 'unpronounceable', 'alphanumeric') . "\n\n";

## Passwords based on given strings

Text_Password provides the ability to create passwords that are based on a given string. In a lot of cases this string is a existing username for a authentication system.

Example 57-3. Creating passwords based on a given string:
    require_once "Text/Password.php";

    echo "\nCreating password from login 'olivier', type is 'reverse':\t";
    echo Text_Password::createFromLogin('olivier', 'reverse') . "\n\n";

    echo "\nCreating password from login 'olivier', type is 'rot13':\t";
    echo Text_Password::createFromLogin('olivier', 'rot13') . "\n\n";

    echo "\nCreating password from login 'olivier', type is 'rotx':\t";
    echo Text_Password::createFromLogin('olivier', 'rotx', 13) . "\n\n";

    echo "\nCreating password from login 'olivier', type is 'rotx++':\t";
    echo Text_Password::createFromLogin('olivier', 'rotx++', 13) . "\n\n";

    echo "\nCreating password from login 'olivier', type is 'rotx--':\t";
    echo Text_Password::createFromLogin('olivier', 'rotx--', 13) . "\n\n";

    echo "\nCreating password from login 'olivier', type is 'xor':\t";
    echo Text_Password::createFromLogin('olivier', 'xor', 5) . "\n\n";

    echo "\nCreating password from login 'olivier', type is 'ascii_rotx':\t";
    echo Text_Password::createFromLogin('olivier', 'ascii_rotx', 5) . "\n\n";

    echo "\nCreating password from login 'olivier', type is 'ascii_rotx++':\t";
    echo Text_Password::createFromLogin('olivier', 'ascii_rotx++', 5) . "\n\n";

    echo "\nCreating password from login 'olivier', type is 'ascii_rotx--':\t";
    echo Text_Password::createFromLogin('olivier', 'ascii_rotx--', 5) . "\n\n";

    echo "\nCreating password from login 'olivier', type is 'shuffle':\t";
    echo Text_Password::createFromLogin('olivier', 'shuffle', 1) . "\n\n";

    echo "\nCreating password from an array of login 'olivier', 'martin', 'vanhoucke', 'jansen', type is 'reverse':\n";
    $logins = array('olivier', 'martin', 'vanhoucke', 'jansen');
    print_r(Text_Password::createMultipleFromLogin($logins, 'reverse'));

Currently the following obfuscation algorithms are supported:

- xor

- rotx

- rotx++

- rotx--

- ascii_rotx

- ascii_rotx++

- ascii_rotx--

- shuffle

- reverse

Prev | Home | Next
Introduction | Up | Text_Statistics