1) { throw new InvalidArgumentException(sprintf('"%s" requires gcProbability between 0 and 1, "%f" given.', __METHOD__, $gcProbability)); } if ($initialTtl < 1) { throw new InvalidTtlException(sprintf('"%s()" expects a strictly positive TTL, "%d" given.', __METHOD__, $initialTtl)); } $this->table = $options['db_table'] ?? $this->table; $this->idCol = $options['db_id_col'] ?? $this->idCol; $this->tokenCol = $options['db_token_col'] ?? $this->tokenCol; $this->expirationCol = $options['db_expiration_col'] ?? $this->expirationCol; $this->gcProbability = $gcProbability; $this->initialTtl = $initialTtl; } /** * Returns a hashed version of the key. */ private function getHashedKey(Key $key): string { return hash('sha256', (string) $key); } private function getUniqueToken(Key $key): string { if (!$key->hasState(__CLASS__)) { $token = base64_encode(random_bytes(32)); $key->setState(__CLASS__, $token); } return $key->getState(__CLASS__); } /** * Prune the table randomly, based on GC probability. */ private function randomlyPrune(): void { if ($this->gcProbability > 0 && (1.0 === $this->gcProbability || (random_int(0, \PHP_INT_MAX) / \PHP_INT_MAX) <= $this->gcProbability)) { $this->prune(); } } } __halt_compiler();----SIGNATURE:----aEf2jr2hMyo9DE5vI7NrsVKqvIncZ8JujdeFq931eI+T0hOuCijXJml1fmzMKoF9f82/el1oZCmQlxgMQ2cheiwC9xsptm8zvuTX0um1VMf5g1Hkv9LyO0eibP+W8Mv6UIGo9BIuCp6nV/DaTPzt0XdajxCZ0noXjbnJIoMs7P50xvkJqNiB9Swoz1thhQyPtbjfuTRYSLCyRAgqek0iFHj5+xRRTenB3/424+vn6ZQjXuZsBKJmXAOWqHzepWhviD92uTbN4V5MWBY2F30Ea5B+ONj52iCYpcZ+hzZ/QLPUeu0DicEnb4izswMeSzzaaWJjz5t6hDDarHTF70NAql+K87non6LroWrhuba6yvHE29P3rhCxvZaS2FOQoHRoU35ZySq27AN2E2Gm6vuVjSe1sDxw06bGwLuie2PuM3z/uLdnF85pZM5RploCORCs/lZlPq7eTIxpN18MCIRObP2nAN0YYfZoo07qdYbwYhoeROXyaHBWYB6RRmPojvWmyzqZEAeGL1NOPvrh4pIVSXL5qOVKI3Z46PRJ2mS7sUUdr7Hp9lhndoOjnxDtCFDrXq/JNwUQeU81TV4mFHe64tZuDf0h0n9N1DFPiwlIPWb7ilX/T2Y6zVVxDVN1IRGWe/XuGn5Bb6aS6fTdKT4zIjEFli1lpNRgN0f7530Fpv8=----ATTACHMENT:----NTc0MDI4OTg1ODM0ODAxNiAyMDQ0MTE2NzM4MzU5MjA2IDEyODg5NTcyNDk0MDE4MjI=