2017 © Pedro Peláez
 

library hash

Hash

image

lamansky/hash

Hash

  • Thursday, November 10, 2016
  • by lamansky
  • Repository
  • 1 Watchers
  • 0 Stars
  • 7 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Hash 1.0.0

Author: John Lamansky
Release Date: 2016-11-10, (*1)

A simple library for comparing hashes and generating tokens. Includes Doctrine types for efficient database storage and retrieval. Requires PHP 7., (*2)

Installation

Use Composer:, (*3)

composer require lamansky/hash

Basic Usage

<?php
use Lamansky\Hash\Hash;

//Hash a string
echo Hash::generate('md5', 'test')->toHex(); //098f6bcd4621d373cade4e832627b4f6

//Generate random 128-bit and 256-bit tokens
$a = Hash::generateRandom(128);
$b = Hash::generateRandom(256);

//Timing-safe comparison
var_dump($a->equals($b)); //bool(false)

//Convert Hash to hex string
$hex = $a->toHex();
echo $hex; //4df3fa5a70eaa4097740b46017d428e2

//Compare Hash with string
var_dump($a->equals($hex)); //bool(true)

//Turn string back into a Hash
$c = new Hash(128, $hex);

var_dump($c->equals($a)); //bool(true)

Doctrine Usage

<?php
use Doctrine\DBAL\Types\Type;
Type::addType('hash256', 'Lamansky\Hash\Doctrine\Hash256Type'); //256-bit hash
Type::addType('hash384', 'Lamansky\Hash\Doctrine\Hash384Type'); //384-bit hash
Type::addType('hash512', 'Lamansky\Hash\Doctrine\Hash512Type'); //512-bit hash
<?php
use Lamansky\Hash\Hash;

/**
 * @Entity
 */
class Session {

    /**
    * @Column(type="hash256")
    */
    protected $token;

    public function __construct() {
        $this->token = Hash::generateRandom(256);
    }

    public function tokenEquals($other) : bool {
        return $this->token->equals($other);
    }
}

Changelog

1.0.0 (2016-11-10)

  • Initial release

The Versions

10/11 2016

dev-master

9999999-dev

Hash

  Sources   Download

MIT

The Requires

  • php >=7.0.0

 

by John Lamansky

10/11 2016

1.0.0

1.0.0.0

Hash

  Sources   Download

MIT

The Requires

  • php >=7.0.0

 

by John Lamansky