Supported Versions: PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1
Generate a keyed hash value using the HMAC method
<?php hash_hmac( string $algo, string $data, string $key, bool $binary = false): string
<?php static function generate($snapshot) {
$hashKey = app('encrypter')->getKey();
$checksum = hash_hmac('sha256', json_encode($snapshot), $hashKey);
trigger('checksum.generate', $checksum, $snapshot);
<?php public function createNewToken()
{
return hash_hmac('sha256', Str::random(40), $this->hashKey);
}
<?php public function generateAblySignature($channelName, $socketId, $userData = null)
{
return hash_hmac(
'sha256',
sprintf('%s:%s%s', $socketId, $channelName, $userData ? ':'.json_encode($userData) : ''),
$this->getPrivateToken(),
);
}
<?php $encodedUser = json_encode($user);
$decodedString = "{$request->socket_id}::user::{$encodedUser}";
$auth = $settings['auth_key'].':'.hash_hmac(
'sha256', $decodedString, $settings['secret']
);
return [
'auth' => $auth,
<?php public static function create($cookieName, $key)
{
return hash_hmac('sha1', $cookieName.'v2', $key).'|';
}
<?php protected function hash($iv, $value, $key)
{
return hash_hmac('sha256', $iv.$value, $key);
}
<?php return new Cookie('laravel_maintenance', base64_encode(json_encode([
'expires_at' => $expiresAt->getTimestamp(),
'mac' => hash_hmac('sha256', $expiresAt->getTimestamp(), $key),
])), $expiresAt, config('session.path'), config('session.domain'));
}
<?php return is_array($payload) &&
is_numeric($payload['expires_at'] ?? null) &&
isset($payload['mac']) &&
hash_equals(hash_hmac('sha256', $payload['expires_at'], $key), $payload['mac']) &&
(int) $payload['expires_at'] >= Carbon::now()->getTimestamp();
}
}
<?php $key = call_user_func($this->keyResolver);
return $this->route($name, $parameters + [
'signature' => hash_hmac('sha256', $this->route($name, $parameters, $absolute), $key),
], $absolute);
}
<?php $original = rtrim($url.'?'.$queryString, '?');
$signature = hash_hmac('sha256', $original, call_user_func($this->keyResolver));
return hash_equals($signature, (string) $request->query('signature', ''));
}
<?php $canonical_request = "GET\n" . $encoded_uri . "\n" . $query_string . "\n" . $header_string . "\n" . $signed_headers_string . "\nUNSIGNED-PAYLOAD";
$string_to_sign = $algorithm . "\n" . $time_text . "\n" . $scope . "\n" . hash('sha256', $canonical_request,
false);
$signing_key = hash_hmac('sha256', 'aws4_request',
hash_hmac('sha256', 's3',
hash_hmac('sha256', $AWSRegion,
hash_hmac('sha256', $date_text, 'AWS4' . $AWSSecretAccessKey, true),
true),
true),
true
);
$signature = hash_hmac('sha256', $string_to_sign, $signing_key);
return 'https://' . $hostname . $encoded_uri . '?' . $query_string . '&X-Amz-Signature=' . $signature;
<?php $string_to_sign = $algorithm . "\n" . $time_text . "\n" . $scope . "\n" . hash('sha256', $canonical_request,
false);
$signing_key = hash_hmac('sha256', 'aws4_request',
hash_hmac('sha256', 's3',
hash_hmac('sha256', $AWSRegion,
hash_hmac('sha256', $date_text, 'AWS4' . $AWSSecretAccessKey, true),
true),
true),
true
);
$signature = hash_hmac('sha256', $string_to_sign, $signing_key);
<?php false);
$signing_key = hash_hmac('sha256', 'aws4_request',
hash_hmac('sha256', 's3',
hash_hmac('sha256', $AWSRegion,
hash_hmac('sha256', $date_text, 'AWS4' . $AWSSecretAccessKey, true),
true),
true),
true
);
<?php $signing_key = hash_hmac('sha256', 'aws4_request',
hash_hmac('sha256', 's3',
hash_hmac('sha256', $AWSRegion,
hash_hmac('sha256', $date_text, 'AWS4' . $AWSSecretAccessKey, true),
true),
true),
true
<?php true),
true
);
$signature = hash_hmac('sha256', $string_to_sign, $signing_key);
return 'https://' . $hostname . $encoded_uri . '?' . $query_string . '&X-Amz-Signature=' . $signature;
}