spitzgoby/kjbpw

Generates random passwords based on the contents of the King James Bible

Installs: 19

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/spitzgoby/kjbpw

1.0.2 2015-10-07 19:21 UTC

This package is not auto-updated.

Last update: 2026-01-22 01:06:38 UTC


README

About

The KJB Password Generator uses words from the King James Bible to generate an xkcd style password.

Installation

Using Composer

NOTE

Versions prior to 1.0.2 will cause a stream error due to an improper path name.

  1. Add spitzgoby/kjbpw to composer.json requirements section
"require": {
     "spitzgoby/kjbpw": ">= 1.0.2"
}
  1. Run composer install

Usage

Basic

The password generator can be invoked statically using default options

// Use password generator with default options
use KJBPasswordGenerator\PasswordGenerator as kjbpw;
$password = kjbpw::generatePassword();
echo $password;

// Sample Output: grey-ministering-shoelatchet

Options

Alternatively, an array of options can be passed to alter the generation

// Use password generator with word count and symbol options
use KJBPasswordGenerator\PasswordGenerator as kjbpw;
$options = [kjbpw::OPTION_WORD_COUNT => 3,
            kjbpw::OPTION_USE_SYMBOL => '!'];
$password = kjbpw::generatePassword($options);
echo $password;

// Sample Output: Shelemiah-father-Sibbechai!

The $options array should be composed of valid key/value pairs as defined by the KJBPasswordGenerator\PasswordGenerator::OPTION_{option_name} constants. Any unrecognized keys or invalid values will be ignored and replaced by the defaults.

Available option keys include:

  • OPTION_WORD_COUNT => Default is 4
    Determines the number of random words to be pulled from the King James Bible.
  • OPTION_USE_SYMBOL => Default is false
    Can be a boolean or string value. by the default.
    • boolean: DEFAULT_SYMBOL (currently an @ symbol) value will be appended to the password.
    • string: the given string will be appended to the end of the password.
  • OPTION_USE_NUMBER => Default is false
    Can be a boolean, integer, or string value.
    • boolean: A random integer between 0-9 will be appended to the password.
    • integer: The given integer will be appended to the password.
    • string: The string must contain only decimal digits. If so it will be appended to the end of the password.
  • OPTION_USE_HYPHENS => Default is true
    Should only be a boolean value. This determines whether the randomly selected words should be separated by hyphens to improve readability and memorability.