Prosta sprawa, ale w gdy się poszuka 
php random string to 
można znaleźć straszne głupoty. No, ale zwykle są artykuły starszej daty. W PHP jest wiele gotowych rozwiązań (
rand, 
mt_rand, 
uniqid, 
array_rand, 
openssl_random_pseudo_bytes), ale często źle używanych.
Działania matematyczne
Są dwa dedykowane rozwiązania generujące integer w danym zasięgu: 
rand i 
mt_rand. Zdecydowanie należy wybierać ten drugi - jest szybszy i o większym zasięgu.
mt_rand( int $min, int $max ) 
Unikalny identyfikator
W kwestii ID pomocny jest 
uniqid, ma on dwa parametry: mało przydatny prefix i powiększenie entropii.
uniqid( string $prefix, bool $entropy ) 
Tablice
W przypadku potrzeby wylosowania wartości z tablicy jest 
array_rand. Wystarczy podać tablicę i opcjonalnie ilość elementów do zwrócenia.
array_rand( array $input, int $number = 1 ) 
Bezpieczeństwo
Najważniejszą wspomnianą funkcją jest 
openssl_random_pseudo_bytes. Jest przeznaczony stricte do zadań takich jak generowanie soli dla hasła. Jako że zwraca dane binarne wraz z nim warto użyć bin2hex.
bin2hex( openssl_random_pseudo_bytes() )
 
Brak komentarzy:
Prześlij komentarz