Une des fonctionnalités de ce module/package est de permettre la création de mots de passe prononcables en utilisant la méthode statique create(). createMultiple() peut être employée pour créer plusieurs mots de passe d'un coup.
Création d'un mot de passe prononcable :
<?php
require_once "Text/Password.php";
echo "Création d'un mot de passe prononcable de 10 caractères ... : ";
echo Text_Password::create() . "\n\n";
echo "Création de 3 mots de passe prononcables différents ... : ";
print_r(Text_Password::createMultiple(3));
?>
Text_Password peut aussi fournir des mots de passe imprononcables
Création de mots de passe non prononcables
<?php
require_once "Text/Password.php";
echo "\nCréation d'un mot de passe imprononcable de 8 caractères",
" parmi les possibilités a,b,c:\t";
echo Text_Password::create(8, 'unpronounceable', 'a,b,c') . "\n\n";
echo "\nCréation de 4 mots de passe imprononcables differents:\n";
print_r(Text_Password::createMultiple(4, 10, 'unpronounceable'));
echo "\nCréation d'un mot de passe imprononcable de 7 caractères",
" composé uniquement de chiffres :\t";
echo Text_Password::create(7, 'unpronounceable', 'numeric') . "\n\n";
echo "\nCréation d'un mot de passe imprononcable de 12 caractères",
" composé de lettres et de chiffres :\t";
echo Text_Password::create(12, 'unpronounceable', 'alphanumeric') . "\n\n";
?>
Text_Password donne la possibilité de créer des mots de passe basés sur une chaine donnée. Dans beaucoups de cas, la chaine est le nom d'identification dans un système d'authentification.
Création de mot de passe basé sur une chaine donnée :
<?php
require_once "Text/Password.php";
echo "\nCréation d'un mot de passe pour le login 'olivier',",
" de type 'reverse':\t";
echo Text_Password::createFromLogin('olivier', 'reverse') . "\n\n";
echo "\nCréation d'un mot de passe pour le login 'olivier', de type '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'));
?>
Actuellement les algorithmes d'"obscurcissement" suivants sont supportés :
xor
rotx
rotx++
rotx--
ascii_rotx
ascii_rotx++
ascii_rotx--
shuffle
reverse