如何生成hash_hmac sha1 php?

如何生成hash_hmac sha1 php?,php,curl,hmac,Php,Curl,Hmac,我对hmac有两个问题 第一: $klucz = ""; $url = ""; $nazwaUsera = ""; $nazwaKlucza = "faktura"; $curlHandle = curl_init($url); $hashWiadomosci = hmac($klucz, $url .$nazwaUsera.$nazwaKlucza); $headers = array( 'Accept: application/pdf', 'Content-type: applica

我对hmac有两个问题

第一:

$klucz = ""; 
$url = ""; 
$nazwaUsera = "";
$nazwaKlucza = "faktura";

$curlHandle = curl_init($url);

$hashWiadomosci = hmac($klucz, $url .$nazwaUsera.$nazwaKlucza);
$headers = array(
'Accept: application/pdf',
'Content-type: application/pdf; charset = UTF-8',
'Authentication: IAPIS user='.$nazwaUsera.', hmac-
sha1='.$hashWiadomosci
);
if is hmac问题是:致命错误:未捕获错误:调用未定义的函数hmac()

蝙蝠如果是

$klucz = ""; 
$url = ""; 
$nazwaUsera = "";
$nazwaKlucza = "faktura";

$curlHandle = curl_init($url);

$hashWiadomosci = hash_hmac($klucz, $url, $nazwaUsera.$nazwaKlucza);
$headers = array(
'Accept: application/pdf',
'Content-type: application/pdf; charset = UTF-8',
'Authentication: IAPIS user='.$nazwaUsera.', hmac-
sha1='.$hashWiadomosci
);
问题是:警告:hash_hmac():未知哈希算法:EC8A18CEC9D1F1B2

如何解决这个问题?

试试这个:

hashWiadomosci = hash_hmac('sha256', $klucz . $url, $nazwaUsera.$nazwaKlucza);

第一个参数必须是您需要使用的散列算法(您可以调用以检查平台中支持的算法,即md5、sha256、haval160,4)。

现在是:{“响应”:{“Kod”:403,“信息”:“错误的散列发送会议”。}尝试使用
sha1
而不是
sha256
。并阅读服务文档。看起来您对哈希使用了错误的语法。它试图将您的输入
EC8A18CEC9D1F1B2
解释为哈希函数的名称/参数。