static function getBytes($num_bytes)
    {
        static $f = null;
        if ($f === null) {
            if (Auth_OpenID_RAND_SOURCE === null) {
                $f = false;
            } else {
                $f = @fopen(Auth_OpenID_RAND_SOURCE, "r");
                if ($f === false) {
                    $msg = 'Define Auth_OpenID_RAND_SOURCE as null to ' .
                        ' continue with an insecure random number generator.';
                    trigger_error($msg, E_USER_ERROR);
                }
            }
        }
        if ($f === false) {
            // pseudorandom used
            $bytes = '';
            for ($i = 0; $i < $num_bytes; $i += 4) {
                $bytes .= pack('L', mt_rand());
            }
            $bytes = substr($bytes, 0, $num_bytes);
        } else {
            $bytes = fread($f, $num_bytes);
        }
        return $bytes;
    }
static function getBytes($num_bytes)
    {
        static $f = null;
        if ($f === null) {
            if (Auth_OpenID_RAND_SOURCE === null) {
                $f = false;
            } else {
                $f = @fopen(Auth_OpenID_RAND_SOURCE, "r");
                if ($f === false) {
                    $msg = 'Define Auth_OpenID_RAND_SOURCE as null to ' .
                        ' continue with an insecure random number generator.';
                    trigger_error($msg, E_USER_ERROR);
                }
            }
        }
        if ($f === false) {
            // pseudorandom used
            $bytes = '';
            for ($i = 0; $i < $num_bytes; $i += 4) {
                $bytes .= pack('L', mt_rand());
            }
            $bytes = substr($bytes, 0, $num_bytes);
        } else {
            $bytes = fread($f, $num_bytes);
        }
        return $bytes;
    }
static function getBytes ( $ num_bytes ) { static $ f = null ; if ( $ f === null ) { if ( Auth_OpenID_RAND_SOURCE === null ) { $ f = false ; } else { $ f = @ fopen ( Auth_OpenID_RAND_SOURCE , "r" ) ; if ( $ f === false ) { $ msg = 'Define Auth_OpenID_RAND_SOURCE as null to ' . ' continue with an insecure random number generator.' ; trigger_error ( $ msg , E_USER_ERROR ) ; } } } if ( $ f === false ) { // pseudorandom used $ bytes = '' ; for ( $ i = 0 ; $ i < $ num_bytes ; $ i += 4 ) { $ bytes .= pack ( 'L' , mt_rand ( ) ) ; } $ bytes = substr ( $ bytes , 0 , $ num_bytes ) ; } else { $ bytes = fread ( $ f , $ num_bytes ) ; } return $ bytes ; }
Get the specified number of random bytes.

Attempts to use a cryptographically secure (not predictable)
source of randomness if available. If there is no high-entropy
randomness source available, it will fail. As a last resort,
for non-critical systems, define
<code>Auth_OpenID_RAND_SOURCE</code> as <code>null</code>, and
the code will fall back on a pseudo-random number generator.

@param int $num_bytes The length of the return value
@return string $bytes random bytes
Get the specified number of random bytes .