A simple class for cryptographically strong secure password generation
This class is available as a package using composer, just run
composer require zeraphie/passwordgen
This also comes as an bower package written in javascript, compiled with gulp as it uses ES2015 for a class structure and thusly has almost exactly the same usage
To install it, run
bower install passwordgen
// Require the autoloader
require_once __DIR__ . '/../vendor/autoload.php';
use PasswordGen\PasswordGen;
$passwordGen = new PasswordGen();
Simply add the build/master.js file to your build tool or add the file directly into your html and it will be ready to be used as below
echo $passwordGen->password();
console.log(new PasswordGen().password);
echo $passwordGen->setLength(32)->password();
console.log(new PasswordGen().setLength(32).password);
echo $passwordGen->setKeyspace('abcdefghijklmnopqrstuvwxyz')->password();
console.log(new PasswordGen().setKeyspace('abcdefghijklmnopqrstuvwxyz').password);
echo $passwordGen->generateKeyspace('lunsw')->password();
console.log(new PasswordGen().generateKeyspace('lunsw').password);
echo $passwordGen->setLength(32)->generateKeyspace('lunsw')->password();
console.log(new PasswordGen().setLength(32).generateKeyspace('lunsw').password);
Note: The two setters are independent of each other so don't need to be in order
Note 2: Since the javascript version utilizes static getters, you can simply use (as an example to see the character sets used in the generator) PasswordGen.CHARACTERSETS
in order to see what the properties of the class are.
You can also use PasswordGen.arrayKeySearch(needles, haystack)
and PasswordGen.randomInteger(min, max)
Group | Variable | Letter |
---|---|---|
LOWERCASELETTERS | 'abcdefghijklmnopqrstuvwxyz' | l |
UPPERCASELETTERS | 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' | u |
NUMBERS | '1234567890' | n |
SPECIALCHARACTERS | '!@#$%&*?,./|[]{}()' | s |
WHITESPACE | ' ' | w |