public function generate(): string
    {
        try {
            $token = random_bytes(32);
        } catch(\Throwable $e) {
            throw new InsufficientStrengthException($e->getMessage(), $e->getCode(), $e);
        }

        return $token;
    }