Generate cryptographically secure alphanumeric tokens in PHP 8.2+ using
PHP random_int()
function.
The package is available on Packagist. The recommended way to install the library is through Composer:
composer require joanfabregat/secure-token-generator
use JoanFabregat\SecureTokenGenerator\SecureTokenGenerator;
// A simple token
$token = SecureTokenGenerator::generate(16);
echo $token; // will echo a 16 characters long alphanumeric token
// With all the options
$token = SecureTokenGenerator::generate(
length: 32,
allowDigits: true, // 1234567890
allowSpecialChars: true, // !@#$%^&*()_+{}|:"<>?[];',./
allowUppercase: true, // ABCDEFGHIJKLMNOPQRSTUVWXYZ
allowLowercase: true, // abcdefghijklmnopqrstuvwxyz
);
echo $token; // will echo a 32 characters long alphanumeric token with special characters
// An integer token
$token = SecureTokenGenerator::generateInt(6);
echo is_int($token); // will echo true
echo $token; // will echo a 6 digits long integer token (ie. 123456)
The library is published under the MIT license (see LICENSE
file).