/
www
/
wwwroot
/
alo88.autos
/
wp-content
/
plugins
/
wp-content-crawler
/
app
/
Objects
/
Transformation
/
Translation
/
Clients
/
AwsTranslate
/
Signature
/
Upload File
HOME
<?php namespace WPCCrawler\Objects\Transformation\Translation\Clients\AwsTranslate\Signature; /** * Provides signature calculation for SignatureV4. * * This class is retrieved from https://github.com/aws/aws-sdk-php/ */ trait SignatureTrait { /** @var array Cache of previously signed values */ private $cache = []; /** @var int Size of the hash cache */ private $cacheSize = 0; private function createScope($shortDate, $region, $service) { return "$shortDate/$region/$service/aws4_request"; } private function getSigningKey($shortDate, $region, $service, $secretKey) { $k = $shortDate . '_' . $region . '_' . $service . '_' . $secretKey; if (!isset($this->cache[$k])) { // Clear the cache when it reaches 50 entries if (++$this->cacheSize > 50) { $this->cache = []; $this->cacheSize = 0; } $dateKey = hash_hmac( 'sha256', $shortDate, "AWS4{$secretKey}", true ); $regionKey = hash_hmac('sha256', $region, $dateKey, true); $serviceKey = hash_hmac('sha256', $service, $regionKey, true); $this->cache[$k] = hash_hmac( 'sha256', 'aws4_request', $serviceKey, true ); } return $this->cache[$k]; } }