Skip to content

Simple class for cryptographically strong secure password generation

Notifications You must be signed in to change notification settings

zeraphie/passwordGen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PasswordGen

A simple class for cryptographically strong secure password generation

Installation - Composer

This class is available as a package using composer, just run

composer require zeraphie/passwordgen

Javascript

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

Usage

Setup

PHP

// Require the autoloader
require_once __DIR__ . '/../vendor/autoload.php';

use PasswordGen\PasswordGen;
$passwordGen = new PasswordGen();

Javascript

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

Basic

PHP

echo $passwordGen->password();

JavaScript

console.log(new PasswordGen().password);

Changing the length

PHP

echo $passwordGen->setLength(32)->password();

JavaScript

console.log(new PasswordGen().setLength(32).password);

Changing the keyspace

PHP

echo $passwordGen->setKeyspace('abcdefghijklmnopqrstuvwxyz')->password();

JavaScript

console.log(new PasswordGen().setKeyspace('abcdefghijklmnopqrstuvwxyz').password);

Generating a keyspace

PHP

echo $passwordGen->generateKeyspace('lunsw')->password();

JavaScript

console.log(new PasswordGen().generateKeyspace('lunsw').password);

Changing length and generating keyspace

PHP

echo $passwordGen->setLength(32)->generateKeyspace('lunsw')->password();

JavaScript

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)

Character Groups

Group Variable Letter
LOWERCASELETTERS 'abcdefghijklmnopqrstuvwxyz' l
UPPERCASELETTERS 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' u
NUMBERS '1234567890' n
SPECIALCHARACTERS '!@#$%&*?,./|[]{}()' s
WHITESPACE ' ' w