Bcrypt class stolen from the internet, for use with Composer.

0.3.3 2013-02-25 21:01 UTC

This package is not auto-updated.

Last update: 2024-04-13 13:25:34 UTC


README

Forked (from myself) at BitBucket.

This is my personal Bcrypt wrapper class-thing I use in my projects for Bcrypting buisness. It was mostly not written by me -- check the file comment in the file for all the peeps I attribute this file to. That said, a quick check on the internet shows a bajillion and one files exactly like this one, all with different names. THE PEOPLE'S BCRYPT MINILIBRARY... THING.

It is based on Andrew Moore's answer on StackOverflow. If you're using PHP 5.5 or greater, use password_hash instead.

Use at your own risk. I offer absolutely no warranty on the cryptographic amazingness of this library, nor do any of the original authors... probably.

Usage

Use the convenience functions to do some simple hashing and verifying of hashes.

$hashed = \Bcrypt\hash('this is a random string');

// elsewhere...

$plain_text_password = //... 

if (\Bcrypt\verify($plain_text_password, $user_pass_hash)) {
  login();
}

For more fine-grained control, instantiate a Bcrypt object:

// Control the prefix, number of rounds...
$bcrypt = new \Bcrypt\Bcrypt('prefix', 15);

// And use the instance to produce many hashes.
$hashes[] = $bcrypt->hash('this is a string');
$hashes[] = $bcrypt->hash('this is another string');

// You can also do this:

if ($bcrypt->verify($plain_text_password, $user_pass_hash)) {
  login();
}

Composer

If you're using Composer, you can just add this to your require list:

{
    "require": {
        "eddieantonio/bcrypt": "0.3.0"
    }
}

License

Creative Commons Public Domain Declaration

Since the meat of this code was stolen from various sources who simply posted the code on the internet with no license, I consider this library to be public domain by default and take no credit in writing it; simply polishing it up such that it can be easily used with Composer.