18 if (!
defined(
'PHP_WINDOWS_VERSION_BUILD') && extension_loaded(
'openssl')) {
20 $rand = openssl_random_pseudo_bytes($length, $secure);
21 if (
false !== $rand && $secure ===
true) {
26 if (extension_loaded(
'mcrypt')) {
30 strtoupper(substr(PHP_OS, 0, 3)) !==
'WIN' ||
31 version_compare(PHP_VERSION,
'5.3.7') >= 0
33 $rand = mcrypt_create_iv($length, MCRYPT_DEV_URANDOM);
34 if ($rand !==
false && strlen($rand) === $length) {
42 for (
$i = 0;
$i < $length;
$i++) {
43 $rand .= chr(mt_rand(0, 255));
static getBytes($length)
Generate random bytes using OpenSSL or Mcrypt and mt_rand() as fallback.
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'