定制 lamansky/hash 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lamansky/hash

Composer 安装命令:

composer require lamansky/hash

包简介

Hash

README 文档

README

Author: John Lamansky
Release Date: 2016-11-10

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

Installation

Use Composer:

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

统计信息

  • 总下载量: 26
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-11-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固