���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/adimi/application/libraries/nexmo/vendor/lcobucci/jwt/src/Signer/ |
<?php /** * This file is part of Lcobucci\JWT, a simple library to handle JWT and JWS * * @license http://opensource.org/licenses/BSD-3-Clause BSD-3-Clause */ namespace Lcobucci\JWT\Signer; /** * Base class for hmac signers * * @author Luís Otávio Cobucci Oblonczyk <[email protected]> * @since 0.1.0 */ abstract class Hmac extends BaseSigner { /** * {@inheritdoc} */ public function createHash($payload, Key $key) { return hash_hmac($this->getAlgorithm(), $payload, $key->getContent(), true); } /** * {@inheritdoc} */ public function doVerify($expected, $payload, Key $key) { if (!is_string($expected)) { return false; } $callback = function_exists('hash_equals') ? 'hash_equals' : [$this, 'hashEquals']; return call_user_func($callback, $expected, $this->createHash($payload, $key)); } /** * PHP < 5.6 timing attack safe hash comparison * * @param string $expected * @param string $generated * * @return boolean */ public function hashEquals($expected, $generated) { $expectedLength = strlen($expected); if ($expectedLength !== strlen($generated)) { return false; } $res = 0; for ($i = 0; $i < $expectedLength; ++$i) { $res |= ord($expected[$i]) ^ ord($generated[$i]); } return $res === 0; } /** * Returns the algorithm name * * @return string */ abstract public function getAlgorithm(); }