xref: /plugin/combo/vendor/hidehalo/nanoid-php/src/CoreInterface.php (revision c3437056399326d621a01da73b649707fbb0ae69)
1*c3437056SNickeau<?php
2*c3437056SNickeaunamespace Hidehalo\Nanoid;
3*c3437056SNickeau
4*c3437056SNickeauinterface CoreInterface
5*c3437056SNickeau{
6*c3437056SNickeau    const SAFE_SYMBOLS = '_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
7*c3437056SNickeau    const MASKS = [15, 31, 63, 127, 255];
8*c3437056SNickeau
9*c3437056SNickeau    /**
10*c3437056SNickeau     * Secure random string generator with custom alphabet.
11*c3437056SNickeau     * Alphabet must contain 256 symbols or less. Otherwise, the generator
12*c3437056SNickeau     * will not be secure.
13*c3437056SNickeau     *
14*c3437056SNickeau     * @param GeneratorInterface $generator
15*c3437056SNickeau     * @param string $alphabet
16*c3437056SNickeau     * @param integer $size
17*c3437056SNickeau     */
18*c3437056SNickeau    public function random(GeneratorInterface $generator, $size, $alphabet = CoreInterface::SAFE_SYMBOLS);
19*c3437056SNickeau}
20