Create random chars, numbers, strings

v0.2.2 2017-11-21 05:26 UTC

This package is auto-updated.

Last update: 2024-04-21 18:47:41 UTC


Latest Stable Version Software License Build Status Code Coverage Scrutinizer Code Quality StyleCI

Generate random strings, numbers, bytes, patterns, and a lot more


It generates cryptographically secure pseudo-random bytes (using random_bytes() and random_int()) to make:

  • Strings
  • Numbers (strings or integers)
  • Upper, lower and mixed case
  • Prefixed and suffixed random strings
  • Hexadecimal
  • Regex patterns ([abcd], [aeiou], [A-Z0123], [0-9a-f])
  • Raw strings, giving you whatever random_bytes() generates


If you have Faker installed it falls back to it, giving you access to random names, dates, cities, phones, and a lot more.


Via Composer

$ composer require pragmarx/random


Basic array usage

$this->random = new PragmaRX\Random\Random();

$this->random->get(); /// will generate an alpha string which is the same of


Should give you 16 chars (default size) string


Defining the size


Upper and lower case


To get back to mixed case you can just:


Defining a pattern

The pattern method uses regex, so you can:


$this->random->pattern('[A-F0-9]')->get(); /// Hexadecimal

To get


Numeric and Integer

The pattern method uses regex, so you can:


To get

   (int) 18

But if you set the size


You'll get a string

   (string) 123



Hexadecimal is uppercase by default, but you can get a lowercase by doing:


Prefix && Suffix


And you should get a random CSS color:


Of course, the same works for suffixes



There are currently 43982 questions in the trivia database, and this is how you get them:



You'll need to install the Trivia database package:

$ composer require pragmarx/trivia


If you install Faker

composer require fzaninotto/faker

You'll also have access to all of the Faker features, like:


And also use all other features of Random

$this->random->prefix('city: ')->city()->lowercase()->get();

You can also change the faker class, you another one pleases you more:


Raw strings

Usually the package returns characters in the range of Base64 (A to Z, a to z and 0 to 9), but you can completely disable this feature and make it return whatever random_bytes() generates:


Change log

Please see CHANGELOG for more information on what has changed recently.


$ composer update
$ vendor/bin/phpunit


Please see CONTRIBUTING for details.


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.