hashKey($key)); return $nonce !== false ? $nonce : null; } /** * Store a new DPoP-Nonce from an upstream server. * * @param string $key The storage key. * @param string $nonce The nonce to store. */ public function storeNextNonce(string $key, string $nonce): void { set_transient(self::PREFIX . $this->hashKey($key), $nonce, self::TTL); } /** * Hash the key to a safe transient name. * * @param string $key The storage key. * @return string The hashed key. */ private function hashKey(string $key): string { return substr(md5($key), 0, 32); } }