Sindbad~EG File Manager
<?php
namespace Iyzipay;
class IyziAuthV2Generator
{
public static function generateAuthContent($uri, $apiKey, $secretKey, $randomString, Request $request = null)
{
$hashStr = "apiKey:" . $apiKey . "&randomKey:" . $randomString ."&signature:" . self::getHmacSHA256Signature($uri, $secretKey, $randomString, $request);
$hashStr = base64_encode($hashStr);
return $hashStr;
}
public static function getHmacSHA256Signature($uri, $secretKey, $randomString, Request $request = null)
{
$dataToEncrypt = $randomString . self::getPayload($uri, $request);
$hash = hash_hmac('sha256', $dataToEncrypt, $secretKey, true);
$token = bin2hex($hash);
return $token;
}
public static function getPayload($uri, Request $request = null)
{
$uriPath = $uri;
$startNumber = strpos($uri, '/v2');
$endNumber = strpos($uri, '?');
if ($startNumber) {
if (strpos($uri, "subscription") || strpos($uri, "ucs")) {
$endNumber = strlen($uri);
if (strpos($uri, '?')) {
$endNumber = strpos($uri, '?');
}
}
$endNumber -= $startNumber;
$uriPath = substr($uri, $startNumber, $endNumber);
}
if (!empty($request) && $request->toJsonString() != '[]')
$uriPath = $uriPath.$request->toJsonString();
return $uriPath;
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists