<?php
/**
* This does nothing if the libsodium extension is loaded, so it's harmless.
*
* This file alone is released under CC0 and WTFPL dual licensing.
*/
namespace Sodium {
if (!extension_loaded('libsodium')) {
/**
* Generate a string of random bytes
* /dev/urandom
*
* @param int $length
* @return string
*/
function randombytes_buf(
$length
)
{
return '';
}
/**
* Generate a 16-bit integer
* /dev/urandom
*
* @return int
*/
function randombytes_random16()
{
return '';
}
/**
* Generate an unbiased random integer between 0 and a specified value
* /dev/urandom
*
* @param int $upperBoundNonInclusive
* @return int
*/
function randombytes_uniform(
$upperBoundNonInclusive
)
{
return 0;
}
}
}
namespace {
class Sodium
{
/**
* Generate a string of random bytes
* /dev/urandom
*
* @param int $length
* @return string
*/
public static function randombytes_buf($length)
{
return '';
}
/**
* Generate a 16-bit integer
* /dev/urandom
*
* @return int
*/
public static function randombytes_random16()
{
return '';
}
/**
* Generate an unbiased random integer between 0 and a specified value
* /dev/urandom
*
* @param int $upperBoundNonInclusive
* @return int
*/
public static function randombytes_uniform($upperBoundNonInclusive = 0)
{
return 0;
}
}
}
|