PHPackages                             lovenunu/rainbowphp - 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. lovenunu/rainbowphp

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

lovenunu/rainbowphp
===================

Rainbow table generator and exploiter written in PHP 5.5

4401PHP

Since Apr 8Pushed 11y ago2 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

RainbowPHP
==========

[](#rainbowphp)

RainbowPHP is a set of tools for building rainbow tables and use them to retrieve hash real values.

Install RainbowPHP
------------------

[](#install-rainbowphp)

To install RainbowPHP, you have to get composer:

```
$ curl -sS https://getcomposer.org/install |sh
```

Then create a projet:

```
$ php composer.phar create-project lovenunu/rainbowphp path/ dev-master
```

Then install dependencies:

```
$ php composer.phar install
```

Build a rainbow table
---------------------

[](#build-a-rainbow-table)

To build a rainbow table, you have to use the command `rainbow:generate`:

```
$ bin/rainbowphp rainbow:generate -m 1 -e 8 -c "::Alpha::::numeric::&é\"'\(-è_çà\)=$ù\*\!\:\;\,\\\" md5
```

The `-m` option allow you to precise the minimal size of the string. Default: 1

The `-e` option allow you to precise the maximal size to generate. Default: 8

The `-c` option allow you define your own character list to generate the table, you can use `::alpha::` for lowercase alphabet, `::ALPHA::` for uppercase, `::Alpha::` for both and `::numeric::` for numbers. Default: `::Alpha::::numeric::`

`md5` is the hash method to apply.

For now, here are available methods:

- md5
- sha1
- mysql\_password

But you can chain them: if you want to generate the md5 of a md5 of a sha1, type `md5,md5,sha1`

You can use the option `-f` to give the file to write in instead of the STDOUT.

Build a rainbow table from a dictionary
---------------------------------------

[](#build-a-rainbow-table-from-a-dictionary)

To build a rainbow table from a dictionary, use `rainbow:generate` with the `-d` option.

Example:

```
$ bin/rainbowphp rainbow:generate -d my_dictionary.txt sha1
```

Guess a hash type
-----------------

[](#guess-a-hash-type)

You can try to guess a hash type with `rainbow:guess`

All the possible results will be displayed.

Example:

```
$ bin/rainbowphp rainbow:guess foobar
The hash 'foo' seems to be not supported
$ bin/rainbowphp rainbow:guess 3858f62230ac3c915f300c664312c63f
1 type of hash has been found for the hash '3858f62230ac3c915f300c664312c63f': md5
```

Find a hash in a rainbow table
------------------------------

[](#find-a-hash-in-a-rainbow-table)

To find a hash, you have to use the `rainbow:lookup` command with the `-r` option.

Give the generated table to the `-r` option, and give the hash as the command argument.

You can use the `-d|--deep-search` option to find all the results in the table for the hash. If two values have the same hash, only the first found will be return without this option

You can use the `-p|--partial` option if you only have a partial hash. Combined with `-d`, you can get all the possible values for the partial hash.

Example:

```
$ bin/rainbowphp rainbow:lookup -r table.txt 3858f62230ac3c915f300c664312c63f
$ bin/rainbowphp rainbow:lookup -r table.txt -pd 3858f62230ac3c915f300c664312c
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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.

### Community

Maintainers

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

---

Top Contributors

[![lovenunu](https://avatars.githubusercontent.com/u/6106094?v=4)](https://github.com/lovenunu "lovenunu (5 commits)")

### Embed Badge

![Health badge](/badges/lovenunu-rainbowphp/health.svg)

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

PHPackages © 2026

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