Fala pessoal, tudo bom? Estamos aqui para mais um artigo de ferramentas PHP que são muito boas para o nosso dia a dia. E, hoje vou apresentar para vocês a RandomLib. Uma biblioteca PHP criada pelo Anthony Ferrara (ircmaxell) para gerarmos strings e números aleatórios para usarmos como hash ou como password para seus projetos.
Vamos a utilização da biblioteca.
Primeiramente vamos realizar o download da biblioteca pelo composer e a utilização no nosso projeto. Para exemplificar criaremos uma pasta randomlib e rodaremos o comando:
composer require ircmaxell/random-lib
Com isso, vamos ver um pouco como funciona a geração dos números e strings. A parte legal dessa biblioteca é que você pode definir a força do que é gerado. Na chamada, você pode definir como low (fraca), medium (média) ou high (forte). Vamos criar um arquivo random.php com o código abaixo:
<?php
require_once 'vendor/autoload.php';
// criando uma nova factory
$factory = new RandomLib\Factory;
// para força média coloque getMediumStrengthGenerator, para uma força maior coloque getHighStrengtGenerator
$generator = $factory->getMediumStrengthGenerator();
// Gerar uma string de bytes aleatória com 20 caracteres
$string20 = $generator->generate(20);
echo ($string20 . PHP_EOL); //apenas para mostrar o resultado
// Gerando um número aleatório entre qualquer inteiro suportado pelo PHP
$randomInt = $generator->generateInt(0);
echo ($randomInt . PHP_EOL); //apenas para mostrar o resultado
// Gerando um número aleatório entre 10 e 50
$randomInt1050 = $generator->generateInt(10, 50);
echo ($randomInt1050 . PHP_EOL); //apenas para mostrar o resultado
// Gerando uma string aleatória com 20 caracteres
$randomString = $generator->generateString(20);
echo ($randomString . PHP_EOL); //apenas para mostrar o resultado
// Gerando uma string aleatória com 30 caracteres contendo apenas as letras
// 'a', 'b', 'c', 'd', 'e', e 'f'.
$randomString30 = $generator->generateString(30, 'abcdef');
echo ($randomString30 . PHP_EOL); //apenas para mostrar o resultado
E, os resultados são mais ou menos assim:
Espero que essa biblioteca ajude vocês a gerar coisas aleatórias em PHP. Valeu demais, até a próxima!