PHPackages                             minvws/horsebattery - 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. [Security](/categories/security)
4. /
5. minvws/horsebattery

ActiveLibrary[Security](/categories/security)

minvws/horsebattery
===================

A password generator inspired by https://xkcd.com/936/

v1.2.0(2mo ago)986.5k↓18.6%1[2 issues](https://github.com/minvws/horsebattery/issues)1EUPL-1.2PHPPHP ^8.1CI failing

Since Jan 27Pushed 2mo ago18 watchersCompare

[ Source](https://github.com/minvws/horsebattery)[ Packagist](https://packagist.org/packages/minvws/horsebattery)[ RSS](/packages/minvws-horsebattery/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (12)Versions (10)Used By (1)

HorseBattery password generator
===============================

[](#horsebattery-password-generator)

A password generator based on [this XKCD comic](https://xkcd.com/936/). Provides a default word list in Dutch and will generate a password based on the wordlist and a given number of words.

May be expanded to include other locales in the future or configuration to allow for other word lists.

Requirements
------------

[](#requirements)

- PHP &gt;= 8.1
- Composer

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

[](#installation)

1. Install the package via composer:

```
composer require minvws/horsebattery
```

Usage
=====

[](#usage)

Generic usage

```
$generator = new HorseBattery();
$password = $generator->generate(4);

// returns for instance: AandeelBijkomendeDereguleringHandelingen
```

Running tests
=============

[](#running-tests)

You can run the tests by issuing the following command:

```
$ composer run test
```

Contributing
============

[](#contributing)

If you encounter any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request on the GitHub repository of this package.

License
=======

[](#license)

This package is open-source and released under the European Union Public License version 1.2. You are free to use, modify, and distribute the package in accordance with the terms of the license.

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance82

Actively maintained with recent releases

Popularity38

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~300 days

Recently: every ~373 days

Total

6

Last Release

73d ago

PHP version history (2 changes)v1.0PHP ^8.0

v1.2.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/19b14ca62f80ce8c77ae749ddf04e2d4077451db9f701f3bd37dec1dc950c76b?d=identicon)[JayTaph](/maintainers/JayTaph)

![](https://www.gravatar.com/avatar/35585f12d5551026d3cf7e8e25170cd718a16a5017096b3201ed196311ac51d9?d=identicon)[annejan](/maintainers/annejan)

![](https://www.gravatar.com/avatar/44e7cc7a950c1f964d8c8a5e3421d5fa61d6592add09ee3936ed267d75b2be33?d=identicon)[rdobeheer](/maintainers/rdobeheer)

---

Top Contributors

[![jaytaph](https://avatars.githubusercontent.com/u/241458?v=4)](https://github.com/jaytaph "jaytaph (15 commits)")[![paulinevos](https://avatars.githubusercontent.com/u/5345273?v=4)](https://github.com/paulinevos "paulinevos (9 commits)")[![sigio](https://avatars.githubusercontent.com/u/781641?v=4)](https://github.com/sigio "sigio (5 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")[![nicktencate](https://avatars.githubusercontent.com/u/4581304?v=4)](https://github.com/nicktencate "nicktencate (4 commits)")[![meneerhenk](https://avatars.githubusercontent.com/u/7542465?v=4)](https://github.com/meneerhenk "meneerhenk (2 commits)")[![helmo](https://avatars.githubusercontent.com/u/104120?v=4)](https://github.com/helmo "helmo (2 commits)")[![ijansch](https://avatars.githubusercontent.com/u/589854?v=4)](https://github.com/ijansch "ijansch (2 commits)")[![annejan](https://avatars.githubusercontent.com/u/294470?v=4)](https://github.com/annejan "annejan (2 commits)")[![parijke](https://avatars.githubusercontent.com/u/7671998?v=4)](https://github.com/parijke "parijke (1 commits)")[![ppvg](https://avatars.githubusercontent.com/u/67802?v=4)](https://github.com/ppvg "ppvg (1 commits)")[![lkeijmel](https://avatars.githubusercontent.com/u/532438?v=4)](https://github.com/lkeijmel "lkeijmel (1 commits)")

---

Tags

icoresecuritypasswordgenerator

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Psalm

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/minvws-horsebattery/health.svg)

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

###  Alternatives

[rych/phpass

PHP Password Library: Easy, secure password management for PHP

248801.7k4](/packages/rych-phpass)[bordoni/phpass

Portable PHP password hashing framework

244.4M26](/packages/bordoni-phpass)[jeremykendall/password-validator

Password Validator validates password\_hash generated passwords, rehashes passwords as necessary, and will upgrade legacy passwords.

14469.9k3](/packages/jeremykendall-password-validator)[ph-7/passcode-password-generator

A simple way to generate random cryptographically secure passcodes and passwords

1223.4k2](/packages/ph-7-passcode-password-generator)[nicobleiler/php-passphrase

Passphrase generator with Laravel integration, inspired by Bitwarden. Uses the EFF long word list by default with support for custom wordlists.

451.7k](/packages/nicobleiler-php-passphrase)[mxrxdxn/pwned-passwords

A library to query Troy Hunt's Pwned Passwords service to see whether or not a password has been included in a public breach.

3270.9k2](/packages/mxrxdxn-pwned-passwords)

PHPackages © 2026

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