mirror of
https://github.com/RobThree/TwoFactorAuth.git
synced 2026-08-24 12:56:34 +00:00
30 lines
574 B
PHP
30 lines
574 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace RobThree\Auth\Providers\Rng;
|
|
|
|
class OpenSSLRNGProvider implements IRNGProvider
|
|
{
|
|
public function __construct(private bool $requirestrong = true)
|
|
{
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function getRandomBytes(int $bytecount): string
|
|
{
|
|
// will throw an Exception on failure
|
|
return openssl_random_pseudo_bytes($bytecount, $crypto_strong);
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function isCryptographicallySecure(): bool
|
|
{
|
|
return $this->requirestrong;
|
|
}
|
|
}
|