mirror of
https://github.com/RobThree/TwoFactorAuth.git
synced 2026-08-17 18:44:30 +00:00
23 lines
564 B
PHP
23 lines
564 B
PHP
<?php
|
|
|
|
namespace RobThree\Auth\Providers\Rng;
|
|
|
|
class MCryptRNGProvider implements IRNGProvider
|
|
{
|
|
private $source;
|
|
|
|
function __construct($source = MCRYPT_DEV_URANDOM) {
|
|
$this->source = $source;
|
|
}
|
|
|
|
public function getRandomBytes($bytecount) {
|
|
$result = @mcrypt_create_iv($bytecount, $this->source);
|
|
if ($result === false)
|
|
throw new \RNGException('mcrypt_create_iv returned an invalid value');
|
|
return $result;
|
|
}
|
|
|
|
public function isCryptographicallySecure() {
|
|
return true;
|
|
}
|
|
} |