- Notifications
You must be signed in to change notification settings - Fork6
PHP library for simple, secure random string generation (e.g. - passwords / salts).
License
PHLAK/StrGen
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
PHP library for simple secure random string generation (e.g. - passwords / salts)
Created byChris Kankiewicz (@PHLAK)
- PHP >= 7.2
composer require phlak/strgen
// Import StrGenusePHLAK\StrGen;// Initialize the Generator$generator =newStrGen\Generator();// Generate a random string of characters$generator->length(16)->generate();// Returns something like '8a*Ag@I0*s0v[S3u'
StrGen has a few built-in character sets available for ease of use. You canspecify which set(s) to use by passing a character set or an array of sets tothecharset()
method.
Example using built-in sets:
$generator =newStrGen\Generator();$generator->charset(StrGen\CharSet::ALPHA_NUMERIC)->generate();// or$generator->charset([StrGen\CharSet::MIXED_ALPHA,StrGen\CharSet::NUMERIC])->generate();
Available presets:
Key | Character Set |
---|---|
StrGen\CharSet::LOWER_ALPHA | abcdefghijklmnopqrstuvwxyz |
StrGen\CharSet::UPPER_ALPHA | ABCDEFGHIJKLMNOPQRSTUVWXYZ |
StrGen\CharSet::MIXED_ALPHA | abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ |
StrGen\CharSet::NUMERIC | 0123456789 |
StrGen\CharSet::ALPHA_NUMERIC | abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 |
StrGen\CharSet::SPECIAL | !@#$%^&*()-_=+.?{}[]<>:;/\|~ |
StrGen\CharSet::ALL | abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 !@#$%^&*()-_=+.?{}[]<>:;/\|~ |
Custom sets:
You can also manually define a character set by passing a string of charactersto thecharset()
method.
$generator =newStrGen\Generator();$generator->charset('0123456789abcdef')->generate();
StrGen also has built-in convenience functions for generating strings from theincluded 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);
A list of changes can be found on theGitHub Releases page.
For general help and support join ourSpectrum community.
Please report bugs to theGitHub Issue Tracker.
This project is licensed under theMIT License.
About
PHP library for simple, secure random string generation (e.g. - passwords / salts).