mikemclin/laravel-wp-password

Laravel package that checks and creates WordPress password hashes

Installs: 2 768 821

Dependents: 2

Suggesters: 0

Security: 0

Stars: 85

Watchers: 6

Forks: 15

Open Issues: 1

Type:laravel-package

2.0.3 2021-09-30 13:48 UTC

This package is auto-updated.

Last update: 2024-10-29 03:53:26 UTC


README

Build Status Coverage Status

This Laravel 4/5/6/7 package provides an easy way to create and check against WordPress password hashes. WordPress is not required.

Installation

Step 1: Composer

Begin by installing this package through Composer. Edit your project's composer.json file to require mikemclin/laravel-wp-password.

"require": {
  "mikemclin/laravel-wp-password": "~2.0.1"
}

Next, update Composer from the Terminal:

composer update

Step 2: Register Laravel Service Provider

Once this operation completes, the final step is to add the service provider.

  • Laravel 5.x: Open config/app.php, and add a new item to the providers array
  • Laravel 4.x: Open app/config/app.php, and add a new item to the providers array
'MikeMcLin\WpPassword\WpPasswordProvider'

Usage

Add a use statement for the WpPassword facade

use MikeMcLin\WpPassword\Facades\WpPassword;

make() - Create Password Hash

Similar to the WordPress wp_hash_password() function

$hashed_password = WpPassword::make('plain-text-password');

check() - Check Password Hash

Similar to the WordPress wp_check_password() function

$password = 'plain-text-password';
$wp_hashed_password = '$P$B7TRc6vrwCfjgKLZLgmN.dmPo6msZR.';

if ( WpPassword::check($password, $wp_hashed_password) ) {
    // Password success!
} else {
    // Password failed :(
}

Dependency Injection

I used a facade above to simplify the documentation. If you'd prefer not to use the facade, you can inject the following interface: MikeMcLin\WpPassword\Contracts\WpPassword.