$length Result length in bytes * * @return string * * @throws \InvalidArgumentException * * @since 1.0.0 */ public static function default(int $length = 16) : string { /** @phpstan-ignore-next-line */ if ($length < 8) { throw new \InvalidArgumentException(); } return \pack('Q', \time()) . ($length > 8 ? \random_bytes($length - 8) : ''); } }