PHPackages                             mhauri/base45 - 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. mhauri/base45

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

mhauri/base45
=============

base45 encoder/decoder

0.1.1(4y ago)966.4k↓37.7%44MITPHPPHP ^7.1|^8.0

Since Jun 23Pushed 4y ago1 watchersCompare

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

READMEChangelog (2)Dependencies (5)Versions (3)Used By (4)

Base45
======

[](#base45)

*base45* is a PHP based base45 encoder/decoder that is fully compatible with [draft-faltstrom-base45-03](https://datatracker.ietf.org/doc/html/draft-faltstrom-base45-03).

[![GitHub Workflow Status (event)](https://camo.githubusercontent.com/b8688db08d95fd459b550c8de055466ca62a23d8fdeb121e8221816ecc6bd988/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6d68617572692f6261736534352f54657374733f6576656e743d70757368267374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/b8688db08d95fd459b550c8de055466ca62a23d8fdeb121e8221816ecc6bd988/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6d68617572692f6261736534352f54657374733f6576656e743d70757368267374796c653d666c61742d737175617265)[![Codecov](https://camo.githubusercontent.com/3a871ab4b181f57c6fcdb24a35f82ce20603c6ed3196a4a37cb4eee6f30589ce/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6d68617572692f6261736534353f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/3a871ab4b181f57c6fcdb24a35f82ce20603c6ed3196a4a37cb4eee6f30589ce/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6d68617572692f6261736534353f7374796c653d666c61742d737175617265)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)

Introduction
------------

[](#introduction)

When using QR or Aztec codes a different encoding scheme is needed than the already established base 64, base 32 and base 16 encoding schemes that are described in RFC [RFC4648](https://datatracker.ietf.org/doc/html/rfc4648). The difference from those and base 45 is the key table and that the padding with '=' is not required.

Install
-------

[](#install)

Install with [composer](https://getcomposer.org/).

```
$ composer require mhauri/base45
```

Usage
-----

[](#usage)

```
$base45 = new \Mhauri\Base45();

$encoded = $base45->encode(random_bytes(128));
$decoded = $base45->decode($encoded);
```

Testing
-------

[](#testing)

```
$ make test
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity37

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity47

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.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1790d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/402069?v=4)[Marcel Hauri](/maintainers/mhauri)[@mhauri](https://github.com/mhauri)

---

Top Contributors

[![mhauri](https://avatars.githubusercontent.com/u/402069?v=4)](https://github.com/mhauri "mhauri (9 commits)")

---

Tags

base45decodingencoder-decoderencodingphp-libraryqrcode

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mhauri-base45/health.svg)

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

###  Alternatives

[daverandom/libdns

DNS protocol implementation written in pure PHP

16339.1M9](/packages/daverandom-libdns)[markocupic/contao-bundle-creator-bundle

This bundle provides a bundle maker for Contao 4.\*. The extension will create a fully working backend- or/and frontend module after you have defined a few parameters in the contao backend.

224.7k](/packages/markocupic-contao-bundle-creator-bundle)

PHPackages © 2026

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