joanfabregat/secure-token-generator

Generate cryptographically secure alphanumeric tokens in PHP

v1.3 2024-05-14 09:41 UTC

This package is auto-updated.

Last update: 2024-10-14 10:31:57 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Generate cryptographically secure alphanumeric tokens in PHP 8.2+ using PHP random_int() function.

Installation

The package is available on Packagist. The recommended way to install the library is through Composer:

composer require joanfabregat/secure-token-generator

Usage

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)

License

The library is published under the MIT license (see LICENSE file).