jlanger/token_generator

令牌生成器

v2.0.1 2020-06-12 19:41 UTC

This package is auto-updated.

Last update: 2024-09-17 01:06:34 UTC


README

使用方法

首次运行 `composer install --no-dev`

最小使用

这会生成一个长度为20的随机令牌(A-Z,a-z,0-9)。该令牌可以一次性使用,没有时间限制。

require_once '***path-to-vendor-folder***/autoload.php';
use JLanger\TokenGenerator\Token;
use JLanger\TokenGenerator\TokenGenerator;
$token = new Token();
try{
$token->setBeginDate(new DateTime('2020-06-01'))
        ->setEndDate(new DateTime('2020-06-20'))
        ->setMaxUse(0)
        ->setUseLeft(0);
$token = (new TokenGenerator($token))->generate();
} catch (Exception $e) {
    trigger_error(get_class($e) . ': ' . $e->getMessage(), E_USER_ERROR);
}

可选参数

使用 `->beginDate(dateFormatString) 设置令牌生效的开始时间。使用 ->endDate(dateFormatString) 设置令牌有效期的结束日期。使用 ->setBlowfishKey(string) 设置Blowfish密钥。设置密钥将强制对令牌进行额外的Blowfish加密。使用 ->generateBlowfishKey() 生成一个随机的Blowfish密钥。设置密钥将强制对令牌进行额外的Blowfish加密。使用 ->setMaxUse(int) 指定令牌可以使用多少次。0表示无限次。使用 ->setLength(int)` 指定随机生成的字符串的长度作为令牌的长度。最小值为20。

默认参数:\ beginDate: 现在时间\ endDate: 时间戳0\ maxUse: 0\ length: 20

验证令牌

require_once '***path-to-vendor-folder***/autoload.php';
use JLanger\TokenGenerator\Token;
use JLanger\TokenGenerator\TokenGenerator;
$token = new Token();
try{
    $token->setBeginDate(new DateTime('2020-06-01'))
            ->setEndDate(new DateTime('2020-06-20'))
            ->setMaxUse(10)
            ->setUseLeft(10)
            ->setLength(20)
            ->setToken('176254dFgsr567FFzq67');
    $validate = $token->validate(); /* returns true or false. */
    /* optional */
    $token->updateUse();
} catch (Exception $e) {
    trigger_error(get_class($e) . ': ' . $e->getMessage(), E_USER_ERROR);
}