SurveyMonkey v3 проверка веб-хоста в PHP [дубликат]

27
задан ɢʜʘʂʈ ʀɛɔʘɴ 26 April 2014 в 13:34
поделиться

3 ответа

Используйте hash_hmac :

$sig = hash_hmac('sha256', $string, $secret)

Где $secret - ваш ключ.

58
ответ дан Sebastian Paaske Tørholm 24 August 2018 в 06:45
поделиться

Ниже приведен пример подписания транзакции datatrans (решение для электронной оплаты) перед вызовом PSP с HMAC-SHA-256.

Надеюсь, что это может помочь некоторым разработчикам.

$hmacKey    = 30911337928580013;

$merchantId = 1100004624;
$amount     = $total * 100;
$currency   = 'EUR';
$refno      = $orderId;

// HMAC Hex to byte
$secret     = hex2bin("$hmacKey");

// Concat infos
$string     = $merchantId . $amount. $currency . $refno;

// generate SIGN
$sign       = bin2hex(hash_hmac('sha256', $string, $secret)); 

Примечание: идентификатор продавца и ключ HMAC находятся в документации Datatrans, доступной здесь: https://admin.sandbox.datatrans.com/showcase/doc/Technical_Implementation_Guide.pdf

3
ответ дан Meloman 24 August 2018 в 06:45
поделиться

Функция hash_hmac() может помочь здесь:

Сгенерировать значение хеша с ключом с использованием метода HMAC

Например, следующая часть кода:

$hash = hash_hmac('sha256', 'hello, world!', 'mykey');
var_dump($hash);

Дает следующий вывод:

string '07a932dd17adc59b49561f33980ec5254688a41f133b8a26e76c611073ade89b' (length=64)

И, чтобы получить список алгоритмов хеширования, которые можно использовать, см. hash_algos() .

11
ответ дан Pascal MARTIN 24 August 2018 в 06:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: