webcraft / laravel-random
Laravel 封装 paragonie/random-lib
Requires
- php: >=7.1|^8.0
- illuminate/support: ^5.6|^6.0|^7.0|^8.0|^9.0|^10.0
- paragonie/random-lib: >=1 <9.99
Requires (Dev)
- orchestra/testbench: ^3.1|^4.0|^5.0|^6.0|^7.0
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-17 16:09:39 UTC
README
此包为 Paragon Initiative Enterprises 的 RandomLib 提供了 Laravel 5.1+ Facade,而 RandomLib 是由 ircmaxell 开发的 RandomLib 的分支。它允许您生成随机数字和字符串,既可以用于一般用途,也可以用于安全环境中的用途,例如令牌或强加密密钥。
安装
可以通过 composer 安装此包
$ composer require webcraft/laravel-random
[如果您使用的是 Laravel 5.5 并启用自动发现,可以跳过此步骤] 然后,将服务提供者添加到您的 config/app.php 文件中
// config/app.php 'providers' => [ ... Webcraft\Random\RandomServiceProvider::class, ... ];
[如果您使用的是 Laravel 5.5 并启用自动发现,可以跳过此步骤] 如果您想使用 facade,请添加以下内容
// config/app.php 'aliases' => [ ... 'Random' => Webcraft\Random\RandomFacade::class ... ]
此包包含一个配置文件,您可以在其中定义生成器的强度。默认强度级别为 medium。如果您想指定不同的强度级别,可以使用 publish 命令将包的配置文件复制到您的本地配置文件夹
php artisan vendor:publish --provider="Webcraft\Random\RandomServiceProvider"
以下是您的生成器的 3 种可能的强度级别
low
低强度应用于需要随机字符串但非加密设置的地方。它们不足以用作密钥或盐。然而,它们对于一次性使用令牌是有用的。
medium (默认)
中等强度应适用于大多数加密用途。它们足以用作密钥和盐。然而,它们生成时需要一些时间和资源,因此不应过度使用。
high
高强度密钥应仅用于生成极其强大的加密密钥。生成它们非常耗费资源,可能需要几分钟或更长时间,具体取决于请求的大小。
此包目前没有提供可以创建高空间生成器的混合器。这不会直接工作!
用法
// Generate a random string that is 32 bytes in length. $string = Random::generate(32); // Generate a whole number between 5 and 15. $int = Random::generateInt(5, 15); // Generate a 32 character string that only contains the letters // 'a', 'b', 'c', 'd', 'e', and 'f'. $string = Random::generateString(32, 'abcdef');
Random::generate($size)
生成指定大小的随机字节字符串。
Random::generateInt($min = 0, $max = PHP_INT_MAX)
生成指定范围内的随机整数。如果范围($max - $min
)为零,则使用 $max
。
Random::generateString($length, $characters = '')
生成指定长度的随机字符串。
这使用提供的字符列表来生成新的结果字符串。字符列表应指定为包含每个允许字符的字符串。
如果没有指定字符列表,则使用以下字符列表
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/
示例
// Give the character list 'abcdef': print Random::generateString(32, 'abcdef')."\n"; // One would expect to receive output that only contained those // characters: // // adaeabecfbddcdaeedaedfbbcdccccfe // adfbfdbfddadbfcbbefebcacbefafffa // ceeadbcabecbccacdcaabbdccfadbafe // abadcffabdcacdbcbafcaecabafcdbbf // dbdbddacdeaceabfaefcbfafebcacdca
变更日志
有关更多信息,请参阅 CHANGELOG。
许可证
此库使用 MIT 许可证。有关更多信息,请参阅 许可证文件。