kuldippujara / nanoid-php
PHP中的nanoid副本
1.1.6
2018-10-18 12:09 UTC
Requires
- php: ~5.5|~7.0
- paragonie/random_compat: >=2.0
Requires (Dev)
- phpunit/phpunit: >=5.6
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-09-19 01:46:48 UTC
README
一个轻量级(179字节)、安全的、友好的URL唯一字符串ID生成器,适用于JavaScript
安全。它使用密码学强度随机API,并保证符号分布的适当性。
小巧。仅179字节(压缩后)。无依赖。它使用Size Limit来控制大小。
紧凑。它使用的符号比UUID(A-Za-z0-9_~)多,并且在21个符号中就有与36个符号相同的唯一选项。
感谢优秀的ai和他的nanoid,这个包是PHP中的副本!如果你喜欢nanoid并且想在PHP中使用它,试试我吧 :D
安装
通过Composer
$composer require hidehalo/nanoid-php
用法
普通
主模块使用URL友好的符号(A-Za-z0-9_~)并返回21个字符的ID(具有与UUID v4相同的碰撞概率)。
use Hidehalo\Nanoid\Client; use Hidehalo\Nanoid\GeneratorInterface; $client = new Client(); # default random generator echo $client->generateId($size = 21); # more safer random generator echo $client->generateId($size = 21, $mode = Client::MODE_DYNAMIC)
自定义字母表或长度
echo $client->formatedId($alphabet = '0123456789abcdefg', $size = 21);
字母表必须包含256个符号或更少。否则,生成器将不安全。
自定义随机字节生成器
# PS: anonymous class is new feature when PHP_VERSION >= 7.0 echo $client->formatedId($alphabet = '0123456789abcdefg', $size = 21, new class implements GeneratorInterface { /** * @inheritDoc */ public function random($size) { //TODO: implemenation ... } });
random
回调必须接受数组大小并返回一个随机数字数组。如果你想在
format
中使用相同的URL友好的符号,可以从url
模块获取默认字母表
请参阅CoreInterface::random(...)
以获取核心随机API原型和说明
示例
请参阅示例以获取更多详细使用信息。
变更日志
请参阅变更日志以获取更多关于最近更改的信息。
测试
$composer test
贡献
请参阅CONTRIBUTING和行为准则以获取详细信息。
注意
如果你有任何问题,请随时在这个仓库中打开,谢谢!
鸣谢
许可协议
MIT许可协议(MIT)。请参阅许可文件以获取更多信息。