clickalicious / rng
PHP 的安全伪随机数生成器 (PRNG)。
Requires
- php: >=5.6.0
- ext-openssl: *
- paragonie/random_compat: ^2.0
- roave/security-advisories: dev-master as 1.0.x-dev
Requires (Dev)
- codacy/coverage: ^1.0.5
- phpunit/phpunit: ^5.7
- symfony/var-dumper: ^3.2
This package is not auto-updated.
Last update: 2024-09-14 17:06:04 UTC
README
PHP 的安全 伪随机数生成器 PRNG
。
目录
功能
- 提供安全的
PRNG
:伪随机数生成器(64位支持) - 面向对象的 PHP 核心功能封装
- 高性能(使用分析器开发)
- 轻量级且高质量的代码库(遵循 PSR 标准,例如
PSR-1,2,4
) - 稳定、干净且文档齐全的代码
- 单元测试覆盖率高
示例
使用 OPEN_SSL
随机字节生成 1 到 10 之间的随机数(库默认)
$generator = new \Clickalicious\Rng\Generator(); $number = $generator->generate(1, 10); echo $number;
使用 PHP_MERSENNE_TWISTER
随机字节生成 1 到 10 之间的随机数
$generator = new \Clickalicious\Rng\Generator(\Clickalicious\Rng\Generator::MODE_PHP_MERSENNE_TWISTER); $number = $generator->generate(1, 10); echo $number;
使用 MODE_OPEN_SSL
随机字节生成 16 个随机字节(库默认)
$generator = new \Clickalicious\Rng\Generator(); $bytes = $generator->getRandomBytes(16);
使用 NATIVE-PHP
随机字节生成 32 个随机字节
$generator = new \Clickalicious\Rng\Generator(); $bytes = $generator->getRandomBytes(32);
可视化
您可以通过 visual.php
» 创建随机化的可视化(如下面所示,但更大尺寸)。如您所见:第一个方块(浅灰色)是默认的 PHP 随机生成的噪声,通过一个图案对齐(您将在图片的大版本中看到)。以下三个方块使用更安全的生成器生成,例如 Open-SSL。
要求
PHP >= 5.6
(兼容到版本7.2
以及HHVM
)
哲学
此库提供了一种最先进的 PRNG
(伪随机数生成器)实现,用于使用 PHP 生成安全的伪随机数。生成基于 OpenSSL
或 MCrypt
,或作为后备使用 PHP 的内部功能。该库还在公共 API 上提供非常好的 Seed generator
。如果您对真实随机数和伪随机数的区别感兴趣,可以从 https://www.random.org/randomness/ 开始。
DILBERT © 2001 Scott Adams.
版本控制
为了实现一致的版本控制,我决定使用 Semantic Versioning 2.0.0
http://semver.org。它易于理解,非常常见,并且许多其他软件项目都了解。
路线图
- 没有开放问题。
安全问题
如果您遇到(潜在的)安全问题,在向公众发布之前,请通过 opensource@clickalicious.de
与我们联系。这样我就可以在问题被共享之前准备和发布更新。谢谢!
参与并分享
... 嗯。如果你也是一个代码猴子 - 那么也许我们可以建立一个力量 ;)! 如果你愿意参与 代码、评论、文档、Wiki、错误报告、单元测试、错误修复、反馈 和/或 批评,也请告诉我!
赞助商
感谢我们的赞助商和支持者