phlak / strgen
Generate secure random strings (e.g. passwords / salts)
Fund package maintenance!
PHLAK
Patreon
paypal.me/ChrisKankiewicz
Installs: 29 759
Dependents: 7
Suggesters: 0
Security: 0
Stars: 21
Watchers: 4
Forks: 6
Open Issues: 1
Requires
- php: >=5.6
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.3
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-10-30 01:42:36 UTC
README
PHP library for simple secure random string generation (e.g. - passwords / salts)
Created by Chris Kankiewicz (@PHLAK)
Requirements
- PHP >= 7.2
Install with Composer
composer require phlak/strgen
Usage
// Import StrGen use PHLAK\StrGen; // Initialize the Generator $generator = new StrGen\Generator(); // Generate a random string of characters $generator->length(16)->generate(); // Returns something like '8a*Ag@I0*s0v[S3u'
Character Sets
StrGen has a few built-in character sets available for ease of use. You can
specify which set(s) to use by passing a character set or an array of sets to
the charset()
method.
Example using built-in sets:
$generator = new StrGen\Generator(); $generator->charset(StrGen\CharSet::ALPHA_NUMERIC)->generate(); // or $generator->charset([StrGen\CharSet::MIXED_ALPHA, StrGen\CharSet::NUMERIC])->generate();
Available presets:
Custom sets:
You can also manually define a character set by passing a string of characters
to the charset()
method.
$generator = new StrGen\Generator(); $generator->charset('0123456789abcdef')->generate();
Convenience Functions
StrGen also has built-in convenience functions for generating strings from the included character sets or a custom character set.
$generator->lowerAlpha($length); $generator->upperAlpha($length); $generator->mixedAlpha($length); $generator->numeric($length); $generator->alphaNumeric($length); $generator->special($length); $generator->all($length); $generator->custom($length, $charset);
Changelog
A list of changes can be found on the GitHub Releases page.
Troubleshooting
For general help and support join our Spectrum community.
Please report bugs to the GitHub Issue Tracker.
Copyright
This project is licensed under the MIT License.