class DefaultNameGenerator
DefaultNameGenerator generates strings of binary data based on a namespace, name, and hashing algorithm
Hierarchy
- class \Ramsey\Uuid\Generator\DefaultNameGenerator implements \Ramsey\Uuid\Generator\NameGeneratorInterface
Expanded class hierarchy of DefaultNameGenerator
File
-
vendor/
ramsey/ uuid/ src/ Generator/ DefaultNameGenerator.php, line 27
Namespace
Ramsey\Uuid\GeneratorView source
class DefaultNameGenerator implements NameGeneratorInterface {
/** @psalm-pure */
public function generate(UuidInterface $ns, string $name, string $hashAlgorithm) : string {
try {
/** @var string|bool $bytes */
$bytes = @hash($hashAlgorithm, $ns->getBytes() . $name, true);
} catch (ValueError $e) {
$bytes = false;
// keep same behavior than PHP 7
}
if ($bytes === false) {
throw new NameException(sprintf('Unable to hash namespace and name with algorithm \'%s\'', $hashAlgorithm));
}
return (string) $bytes;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
DefaultNameGenerator::generate | public | function | @psalm-pure | Overrides NameGeneratorInterface::generate |