PHP 的安全伪随机数生成器 (PRNG)。

v3.0.0 2017-04-30 12:13 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:06:04 UTC


README

Logo of rng

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。

Logo of rng

要求

  • PHP >= 5.6(兼容到版本 7.2 以及 HHVM

哲学

此库提供了一种最先进的 PRNG(伪随机数生成器)实现,用于使用 PHP 生成安全的伪随机数。生成基于 OpenSSLMCrypt,或作为后备使用 PHP 的内部功能。该库还在公共 API 上提供非常好的 Seed generator。如果您对真实随机数和伪随机数的区别感兴趣,可以从 https://www.random.org/randomness/ 开始。

Scott Adams

DILBERT © 2001 Scott Adams.

版本控制

为了实现一致的版本控制,我决定使用 Semantic Versioning 2.0.0 http://semver.org。它易于理解,非常常见,并且许多其他软件项目都了解。

路线图

  • 没有开放问题。

Throughput Graph

安全问题

如果您遇到(潜在的)安全问题,在向公众发布之前,请通过 opensource@clickalicious.de 与我们联系。这样我就可以在问题被共享之前准备和发布更新。谢谢!

参与并分享

... 嗯。如果你也是一个代码猴子 - 那么也许我们可以建立一个力量 ;)! 如果你愿意参与 代码评论文档Wiki错误报告单元测试错误修复反馈 和/或 批评,也请告诉我!

赞助商

感谢我们的赞助商和支持者

版权
图标由 Freepik 制作,来自 www.flaticon.com,受 CC 3.0 BY 许可。