PHPackages                             spitzgoby/kjbpw - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. spitzgoby/kjbpw

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

spitzgoby/kjbpw
===============

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

1.0.2(10y ago)019MITPHPPHP &gt;=5.6.0

Since Oct 5Pushed 10y ago1 watchersCompare

[ Source](https://github.com/spitzgoby/KJBPasswordGenerator)[ Packagist](https://packagist.org/packages/spitzgoby/kjbpw)[ RSS](/packages/spitzgoby-kjbpw/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (4)Used By (0)

KJB Password Generator
======================

[](#kjb-password-generator)

About
-----

[](#about)

The KJB Password Generator uses words from the King James Bible to generate an [xkcd](https://xkcd.com/936/) style password.

Installation
------------

[](#installation)

### Using [Composer](https://getcomposer.org/)

[](#using-composer)

#### NOTE

[](#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"
}
```

2. Run `composer install`

Usage
-----

[](#usage)

### Basic

[](#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

[](#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` =&gt; Default is `4`
    Determines the number of random words to be pulled from the King James Bible.
- `OPTION_USE_SYMBOL` =&gt; 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` =&gt; 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` =&gt; 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.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

3876d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/efda18e78d4282c0d4024cf35901132cb165796a69a6284eba23bb1512bd8f2f?d=identicon)[spitzgoby](/maintainers/spitzgoby)

---

Top Contributors

[![spitzgoby](https://avatars.githubusercontent.com/u/2844926?v=4)](https://github.com/spitzgoby "spitzgoby (25 commits)")

### Embed Badge

![Health badge](/badges/spitzgoby-kjbpw/health.svg)

```
[![Health](https://phpackages.com/badges/spitzgoby-kjbpw/health.svg)](https://phpackages.com/packages/spitzgoby-kjbpw)
```

###  Alternatives

[am-impact/amnav

Navigation Plugin for Craft

16726.5k](/packages/am-impact-amnav)[proteusthemes/wp-customizer-utilities

Advanced WordPress customizer controls and settings for better user experience.

329.4k1](/packages/proteusthemes-wp-customizer-utilities)[nightjar/ss-slug

Serve DataObjects as pages through an Action on a relation's Controller without referencing the ID

116.7k2](/packages/nightjar-ss-slug)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
