nickjbedford/randomstringgenerator

该包提供了一种基于输入字母表生成具有加密强度的随机字符串的方法。

0.3.5 2024-03-05 23:26 UTC

This package is auto-updated.

Last update: 2024-09-06 00:40:30 UTC


README

Generator\RandomStringGenerator类可以根据提供的字符集(如字母数字字符)生成具有加密强度的随机字符串。这非常适合在允许的字符集中生成API密钥。它还可以用于生成强密码。

该类依赖于openssl_pseudo_random_bytes()函数来生成用于构建随机字符串的具有加密强度的随机数。

用法

要使用默认的62个字符的字母数字字母表生成一个16字符的字符串,用法如下

	$generator = new Generators\RandomStringGenerator();
	$key = $generator->generate();
	// string(16) "7m98Jvc0ArBDS4jK"

要使用不同的字母表,例如大写十六进制字符,并生成不同长度的随机字符串,可以将以下参数传递给类

$generator = new RandomStringGenerator(RandomStringGenerator::ALPHABET_HEX_UPPER);
$key = $generator->generate(8);
// string(8) "CF70D24E"

可以提供自定义字母表,形式为字符输入字符串,例如

$generator = new RandomStringGenerator('abc123');
$key = $generator->generate();
// string(16) "cb2c2a33c2c3a23b"

然后内部将其转换为字符数组。可以通过使用不带参数的$generator->alphabet()函数检索此数组。