jlanger / token_generator
令牌生成器
v2.0.1
2020-06-12 19:41 UTC
Requires
- php: >=7.4
- jlanger/blowfish: ^2.0
Requires (Dev)
- phpunit/phpunit: ^8.5
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);
}