Wallogit.com
2017 © Pedro Peláez
Generate Random String by level and length
Laravel 5 Custom String Random Generator, (*1)
$ composer require saacsos/randomgenerator
<?php use Saacsos\Randomgenerator\Util\RandomGenerator; // Create an object $randomGenerator = new RandomGenerator(); // Get random password $randomGenerator->password(); $password = $randomGenerator->get(); // or $password = $randomGenerator->password()->get(); // Get random access token (48 chars) $accessToken = $randomGenerator->accessToken()->get();
Level of strength * 1 = number ([0-9]) * 2 = hexadecimal ([0-9a-f]) * 4 = lowercase (a-z except i,l,o) * 8 = uppercase (A-Z except I,L,O) * 16 = special character !@#$%^&*()_=[]{}?, Combine level for complex password * 5 = 1 + 4 = number + lowercase * 13 = 1 + 4 + 8 = number + lowercase + uppercase * 29 = 1 + 4 + 8 + 16 = number + lowercase + uppercase + special character, (*2)
<?php // get password 8 characters in level 5 $password = $randomGenerator->level(5)->length(8)->password()->get();
Default level = 13, Default length = 8, (*3)
Validate if $string match the level or not Strict mode will check $string must has at least 1 character in its level, (*4)
<?php
$match = $randomGenerator->min(8)->max(8)->level(13)->isMatch('password'); // true
$match = $randomGenerator->min(8)->max(8)->level(13)->isMatch('password', true); // false because no uppercase
Add your new provider to the providers array of config/app.php:, (*5)
'providers' => [
// ...
Saacsos\Randomgenerator\ServiceProvider\RandomGeneratorServiceProvider::class,
// ...
],
Add class alias to the aliases array of config/app.php:, (*6)
'aliases' => [
// ...
'RandomGenerator' => Saacsos\Randomgenerator\Facades\RandomGenerator::class,
// ...
],
And you can use, (*7)
$password = \RandomGenerator::password()->get();