kijin / phprandom

PHP 5 的另一个随机数/字符串生成器

1.2.0 2014-09-24 13:20 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:16:46 UTC


README

PHP 5 的另一个随机数/字符串生成器

这个库类似于 ircmaxell/RandomLib,但是它兼容 PHP 5.0 及以上版本,并且提供了一个更简单的接口。说实话,PHP 不是 Java。我们为什么需要一打文件和相互继承的类,只是为了得到一些随机字节? :p

如何安装

传统方法

include 'phprandom.php';

Composer

"require": {
    "kijin/phprandom": "dev-master"
}

如何使用

获取两个端点之间的随机整数(包含端点)

$random = PHPRandom::getInteger($min, $max);

获取 0 和 1 之间的随机浮点数

$random = PHPRandom::getFloat();

获取随机字母数字字符串(0-9, a-z, A-Z)

$random = PHPRandom::getString($length);

获取随机十六进制字符串(0-9, a-f)

$random = PHPRandom::getHexString($length);

获取随机二进制字符串

$random = PHPRandom::getBinary($length);

找出你宝贵的熵来自哪里

$sources = PHPRandom::listSources();

配置

PHPRandom 不需要配置。

你不需要选择你想要低质量还是高质量熵。你总是得到系统支持的最高质量熵。由于在大多数情况下请求高质量熵的边际成本可以忽略不计,因此很少需要请求低质量熵。

较弱的熵源会自动与其他源使用系统支持的最好混合算法混合。

支持的源,按优先顺序

  • openssl_random_pseudo_bytes()
  • 使用 MCRYPT_DEV_URANDOMmcrypt_create_iv()
  • 使用 MCRYPT_RANDmcrypt_create_iv()(仅限 Windows)
  • (仅限 Linux/Unix)
  • rand()mt_rand() 异或

支持的混合器,按优先顺序

  • 使用 SHA-256 的 hash_hmac()
  • sha1()

许可证

PHPRandom 是在 MIT 许可下发布的免费软件。