PHPackages                             typisttech/wp-password-argon-two-env - 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. typisttech/wp-password-argon-two-env

Abandoned → [roots/wp-password-bcrypt](/?search=roots%2Fwp-password-bcrypt)ArchivedLibrary[Security](/categories/security)

typisttech/wp-password-argon-two-env
====================================

Convert environment variables to WP Password Argon Two required constants.

0.2.1(3y ago)0360MITPHPPHP ^7.2 || ^8.0

Since Mar 4Pushed 1y ago1 watchersCompare

[ Source](https://github.com/typisttech/wp-password-argon-two-env)[ Packagist](https://packagist.org/packages/typisttech/wp-password-argon-two-env)[ Docs](https://github.com/TypistTech/wp-password-argon-two-env)[ Fund](https://typist.tech/donation/)[ RSS](/packages/typisttech-wp-password-argon-two-env/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (5)Used By (0)

Caution

[WP Password Argon Two](https://github.com/typisttech/wp-password-argon-two) has been **abandoned**. Hence, [WP Password Argon Two Env](https://github.com/typisttech/wp-password-argon-two-env/) as well.

If you want to maintain a fork of [WP Password Argon Two](https://github.com/typisttech/wp-password-argon-two), read this [blog post](https://blog.ircmaxell.com/2015/03/security-issue-combining-bcrypt-with.html) ([Wayback Machine snaptshot](https://web.archive.org/web/20240722115642/https://blog.ircmaxell.com/2015/03/security-issue-combining-bcrypt-with.html)). Otherwise, use [roots/wp-password-bcrypt](https://github.com/roots/wp-password-bcrypt).

WP Password Argon Two Env
=========================

[](#wp-password-argon-two-env)

[![Latest Stable Version](https://camo.githubusercontent.com/fc8836234087f3c8effa55a3c8b177209149eacd0b09b14700e4f5628e8cc17c/68747470733a2f2f706f7365722e707567782e6f72672f747970697374746563682f77702d70617373776f72642d6172676f6e2d74776f2d656e762f762f737461626c65)](https://packagist.org/packages/typisttech/wp-password-argon-two-env)[![Total Downloads](https://camo.githubusercontent.com/a028c8814f05c215656ee64b065bf3e860812ab05cf9a2e45ca1d13998cbffee/68747470733a2f2f706f7365722e707567782e6f72672f747970697374746563682f77702d70617373776f72642d6172676f6e2d74776f2d656e762f646f776e6c6f616473)](https://packagist.org/packages/typisttech/wp-password-argon-two-env)[![StyleCI](https://camo.githubusercontent.com/252428424eb93e52fc7308359a9f531ee8578f85806ba0569a2bb91749b3cc3f/68747470733a2f2f7374796c6563692e696f2f7265706f732f3132333732313331352f736869656c643f6272616e63683d6d6173746572)](https://styleci.io/repos/123721315)[![License](https://camo.githubusercontent.com/a53c4f2a00f55a4616f5470724d72d8f498dfc9c1366aad7c375f18262639681/68747470733a2f2f706f7365722e707567782e6f72672f747970697374746563682f77702d70617373776f72642d6172676f6e2d74776f2d656e762f6c6963656e7365)](https://packagist.org/packages/typisttech/wp-password-argon-two-env)[![Donate via PayPal](https://camo.githubusercontent.com/b57c445af971e3e99c2d0ccdbf4fa7faa4358ba27fecc8f68459b30289f82eda/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f6e6174652d50617950616c2d626c75652e737667)](https://typist.tech/donate/wp-password-argon-two-env/)[![Hire Typist Tech](https://camo.githubusercontent.com/e392a964bbdc0c32d95825bbc8253027387bcb9b021176d807d22ac75d86f308/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f486972652d547970697374253230546563682d6666363962342e737667)](https://typist.tech/contact/)

Convert environment variables to [WP Password Argon Two](https://github.com/TypistTech/wp-password-argon-two) required constants.

- [Goal](#goal)
- [Installation](#installation)
- [Usage](#usage)
    - [Trellis](#trellis)
- [Frequently Asked Questions](#frequently-asked-questions)
    - [Why I got `InsecureConfigException` (Pepper should not be empty)?](#why-i-got-insecureconfigexception-pepper-should-not-be-empty)
    - [Does it work when WP Password Argon Two installed as a must-use plugin?](#does-it-work-when-wp-password-argon-two-installed-as-a-must-use-plugin)
    - [It looks awesome. Where can I find some more goodies like this?](#it-looks-awesome-where-can-i-find-some-more-goodies-like-this)
- [Support!](#support)
    - [Donate](#donate)
    - [Why don't you hire me?](#why-dont-you-hire-me)
    - [Want to help in other way? Want to be a sponsor?](#want-to-help-in-other-way-want-to-be-a-sponsor)
- [Developing](#developing)
- [Feedback](#feedback)
- [Change Log](#change-log)
- [Security](#security)
- [Credits](#credits)
- [License](#license)

Goal
----

[](#goal)

Defining [WP Password Argon Two](https://github.com/TypistTech/wp-password-argon-two) required constants in application code violates [12-factor principle](https://12factor.net/).

This package allows you configure [WP Password Argon Two](https://github.com/TypistTech/wp-password-argon-two) with environment variables.

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

[](#installation)

```
➜ composer require typisttech/wp-password-argon-two-env
```

In `wp-config.php` or [Bedrock](https://github.com/roots/bedrock)'s `config/application.php`:

```
TypistTech\WPPasswordArgonTwo\Env\Converter::run();
```

Usage
-----

[](#usage)

On your server, define these environment variables:

- `WP_PASSWORD_ARGON_TWO_PEPPER`
- `WP_PASSWORD_ARGON_TWO_OPTION_MEMORY_COST`
- `WP_PASSWORD_ARGON_TWO_OPTION_TIME_COST`
- `WP_PASSWORD_ARGON_TWO_OPTION_THREADS`
- `WP_PASSWORD_ARGON_TWO_FALLBACK_PEPPER_`

Only `WP_PASSWORD_ARGON_TWO_PEPPER` is required. Others are optional.

Fallback peppers must start with `1` and consecutive. For example:

- `WP_PASSWORD_ARGON_TWO_FALLBACK_PEPPER_1`
- `WP_PASSWORD_ARGON_TWO_FALLBACK_PEPPER_2`
- `WP_PASSWORD_ARGON_TWO_FALLBACK_PEPPER_3`

### Trellis

[](#trellis)

[Trellis](https://github.com/roots/trellis) users could add environment variables under [`wordpress_sites`](https://roots.io/trellis/docs/wordpress-sites/#options):

```
# group_vars//vault.yml
vault_wordpress_sites:
  example.com:
    env:
      wp_password_argon_two_pepper: 'your_long_and_random_pepper'
      wp_password_argon_two_fallback_pepper_1: 'your_second_oldest_pepper'
      wp_password_argon_two_fallback_pepper_2: 'your_oldest_pepper'

# group_vars//wordpress_sites.yml
wordpress_sites:
  example.com:
    env:
      wp_password_argon_two_option_memory_cost: 131072 # 128 Mb
      wp_password_argon_two_option_time_cost: 4
      wp_password_argon_two_option_threads: 3
```

Encrypting `vault.yml` files is important! Learn more on [Trellis docs](https://roots.io/trellis/docs/vault/).

Frequently Asked Questions
--------------------------

[](#frequently-asked-questions)

### Why I got `InsecureConfigException` (Pepper should not be empty)?

[](#why-i-got-insecureconfigexception-pepper-should-not-be-empty)

Because... pepper should not be empty.

`WP_PASSWORD_ARGON_TWO_PEPPER` environment variable isn't defined properly.

### Does it work when WP Password Argon Two installed as a must-use plugin?

[](#does-it-work-when-wp-password-argon-two-installed-as-a-must-use-plugin)

No.

### It looks awesome. Where can I find some more goodies like this?

[](#it-looks-awesome-where-can-i-find-some-more-goodies-like-this)

- Articles on Typist Tech's [blog](https://typist.tech)
- [Tang Rufus' WordPress plugins](https://profiles.wordpress.org/tangrufus#content-plugins) on wp.org
- More projects on [Typist Tech's GitHub profile](https://github.com/TypistTech)
- Stay tuned on [Typist Tech's newsletter](https://typist.tech/go/newsletter)
- Follow [Tang Rufus' Twitter account](https://twitter.com/TangRufus)

Support!
--------

[](#support)

### Donate

[](#donate)

Love WP Password Argon Two Env? Help me maintain it, a [donation here](https://typist.tech/donation/) can help with it.

### Why don't you hire me?

[](#why-dont-you-hire-me)

Ready to take freelance WordPress jobs. Contact me via the contact form [here](https://typist.tech/contact/) or, via email

### Want to help in other way? Want to be a sponsor?

[](#want-to-help-in-other-way-want-to-be-a-sponsor)

Contact: [Tang Rufus](mailto:tangrufus@gmail.com)

Developing
----------

[](#developing)

To set up a developer workable version you should run these commands:

```
$ composer create-project --keep-vcs --no-install typisttech/wp-password-argon-two-env:dev-master
$ cd wp-password-argon-two-env
$ composer install
```

Feedback
--------

[](#feedback)

**Please provide feedback!** We want to make this library useful in as many projects as possible. Please submit an [issue](https://github.com/TypistTech/wp-password-argon-two-env/issues/new) and point out what you do and don't like, or fork the project and make suggestions. **No issue is too small.**

Security
--------

[](#security)

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

Credits
-------

[](#credits)

[WP Password Argon Two Env](https://github.com/TypistTech/wp-password-argon-two-env) is a [Typist Tech](https://typist.tech) project and maintained by [Tang Rufus](https://twitter.com/TangRufus), freelance developer for [hire](https://typist.tech/contact/).

Full list of contributors can be found [here](https://github.com/TypistTech/wp-password-argon-two-env/graphs/contributors).

License
-------

[](#license)

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

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

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

Total

3

Last Release

1425d ago

PHP version history (3 changes)0.1.0PHP ^7.2

0.2.0PHP ^7.4

0.2.1PHP ^7.2 || ^8.0

### Community

Maintainers

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

---

Top Contributors

[![tangrufus](https://avatars.githubusercontent.com/u/2259834?v=4)](https://github.com/tangrufus "tangrufus (14 commits)")

---

Tags

12-factorenvironment-variableswordpresswordpresspasswordhashingenvwphmacargon2Argon2isha512typist tech

### Embed Badge

![Health badge](/badges/typisttech-wp-password-argon-two-env/health.svg)

```
[![Health](https://phpackages.com/badges/typisttech-wp-password-argon-two-env/health.svg)](https://phpackages.com/packages/typisttech-wp-password-argon-two-env)
```

###  Alternatives

[paragonie/halite

High-level cryptography interface powered by libsodium

1.2k9.4M63](/packages/paragonie-halite)[symfony/password-hasher

Provides password hashing utilities

814137.2M91](/packages/symfony-password-hasher)[mikemclin/laravel-wp-password

Laravel package that checks and creates WordPress password hashes

863.4M2](/packages/mikemclin-laravel-wp-password)[passwordlib/passwordlib

A Password Hashing Library

377220.6k6](/packages/passwordlib-passwordlib)[paragonie/password_lock

Wraps Bcrypt-SHA2 in Authenticated Encryption

19348.7k1](/packages/paragonie-password-lock)[ammardev/laravel-wp-hash-driver

Supports Wordpress passwords hashing and checking in Laravel's Hash facade.

169.3k](/packages/ammardev-laravel-wp-hash-driver)

PHPackages © 2026

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