diff options
Diffstat (limited to 'vendor/symfony/polyfill-php82/Random/Engine/Secure.php')
-rw-r--r-- | vendor/symfony/polyfill-php82/Random/Engine/Secure.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/vendor/symfony/polyfill-php82/Random/Engine/Secure.php b/vendor/symfony/polyfill-php82/Random/Engine/Secure.php new file mode 100644 index 000000000..5565386c2 --- /dev/null +++ b/vendor/symfony/polyfill-php82/Random/Engine/Secure.php @@ -0,0 +1,50 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <[email protected]> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Polyfill\Php82\Random\Engine; + +use Random\RandomException; +use Symfony\Polyfill\Php82\NoDynamicProperties; + +/** + * @author Tim Düsterhus <[email protected]> + * @author Anton Smirnov <[email protected]> + * + * @internal + */ +class Secure +{ + use NoDynamicProperties; + + public function generate(): string + { + try { + return random_bytes(\PHP_INT_SIZE); + } catch (\Exception $e) { + throw new RandomException($e->getMessage(), $e->getCode(), $e->getPrevious()); + } + } + + public function __sleep(): array + { + throw new \Exception("Serialization of 'Random\Engine\Secure' is not allowed"); + } + + public function __wakeup(): void + { + throw new \Exception("Unserialization of 'Random\Engine\Secure' is not allowed"); + } + + public function __clone() + { + throw new \Error('Trying to clone an uncloneable object of class Random\Engine\Secure'); + } +} |