Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
/**
4
 * This file is part of the ramsey/uuid library
5
 *
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 *
9
 * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
10
 * @license http://opensource.org/licenses/MIT MIT
11
 */
12
 
13
declare(strict_types=1);
14
 
15
namespace Ramsey\Uuid\Generator;
16
 
17
use RandomLib\Factory;
18
use RandomLib\Generator;
19
 
20
/**
21
 * RandomLibAdapter generates strings of random binary data using the
22
 * paragonie/random-lib library
23
 *
24
 * @deprecated This class will be removed in 5.0.0. Use the default
25
 *     RandomBytesGenerator or implement your own generator that implements
26
 *     RandomGeneratorInterface.
27
 *
28
 * @link https://packagist.org/packages/paragonie/random-lib paragonie/random-lib
29
 */
30
class RandomLibAdapter implements RandomGeneratorInterface
31
{
32
    private Generator $generator;
33
 
34
    /**
35
     * Constructs a RandomLibAdapter
36
     *
37
     * By default, if no Generator is passed in, this creates a high-strength
38
     * generator to use when generating random binary data.
39
     *
40
     * @param Generator|null $generator The generator to use when generating binary data
41
     */
42
    public function __construct(?Generator $generator = null)
43
    {
44
        if ($generator === null) {
45
            $factory = new Factory();
46
            $generator = $factory->getHighStrengthGenerator();
47
        }
48
 
49
        $this->generator = $generator;
50
    }
51
 
52
    public function generate(int $length): string
53
    {
54
        return $this->generator->generate($length);
55
    }
56
}