<?php
if (!is_callable('random_bytes')) {
function random_bytes($bytes)
{
try {
$bytes = RandomCompat_intval($bytes);
} catch (TypeError $ex) {
throw new TypeError('random_bytes(): $bytes must be an integer');
}
if ($bytes < 1) {
throw new Error('Length must be greater than 0');
}
$buf = @mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM);
if ($buf !== false && RandomCompat_strlen($buf) === $bytes) {
return $buf;
}
throw new Exception('Could not gather sufficient random data');
}
}