Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zeraphie/passwordgen
Simple class for cryptographically strong secure password generation
https://github.com/zeraphie/passwordgen
composer cryptographic cryptography javascript keyspace password password-generator passwordgen php
Last synced: 26 days ago
JSON representation
Simple class for cryptographically strong secure password generation
- Host: GitHub
- URL: https://github.com/zeraphie/passwordgen
- Owner: zeraphie
- Created: 2016-08-12T10:30:31.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-08-03T09:46:38.000Z (over 7 years ago)
- Last Synced: 2024-10-12T12:04:40.435Z (26 days ago)
- Topics: composer, cryptographic, cryptography, javascript, keyspace, password, password-generator, passwordgen, php
- Language: JavaScript
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PasswordGen
A simple class for cryptographically strong secure password generation
## Installation - Composer
This class is available as a package using composer, just run
```bash
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 usageTo install it, run
```bash
bower install passwordgen
```
## Usage
### Setup
#### PHP
```php
// Require the autoloader
require_once __DIR__ . '/../vendor/autoload.php';use PasswordGen\PasswordGen;
$passwordGen = new PasswordGen();
```
#### Javascript
Simply add the [build/master.js](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
```php
echo $passwordGen->password();
```
#### JavaScript
```javascript
console.log(new PasswordGen().password);
```### Changing the length
#### PHP
```php
echo $passwordGen->setLength(32)->password();
```
#### JavaScript
```javascript
console.log(new PasswordGen().setLength(32).password);
```### Changing the keyspace
#### PHP
```php
echo $passwordGen->setKeyspace('abcdefghijklmnopqrstuvwxyz')->password();
```
#### JavaScript
```javascript
console.log(new PasswordGen().setKeyspace('abcdefghijklmnopqrstuvwxyz').password);
```### Generating a keyspace
#### PHP
```php
echo $passwordGen->generateKeyspace('lunsw')->password();
```
#### JavaScript
```javascript
console.log(new PasswordGen().generateKeyspace('lunsw').password);
```### Changing length and generating keyspace
#### PHP
```php
echo $passwordGen->setLength(32)->generateKeyspace('lunsw')->password();
```
#### JavaScript
```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 |