Php 如何在益百利api中生成签名
我想用php生成誓言签名,但益百利的文档是用.net编写的。我试着问益百利的开发者,但他没有很好的回应。我使用以下代码来开发誓言签名: $timestamp=1461944620;//时隙 $nonce=3774707;//暂时 $consumerKey=“e172b7b1-056f-48be-aeca-a641a60c88ea”//消费者密钥-由益百利开发提供 $ConsumerCret=“1c339256-2e1c-48bb-82c2-8e33abe550fd”//消费者机密-由益百利开发公司提供 $url=”“;/Url-由益百利开发公司提供 $httpMethod=“GET” $params=“oauth_consumer_key=“.$consumerKey.”和oauth_nonce=“.$nonce.”和oauth_signature_method=HMAC-SHA1和oauth_timestamp=“.$timestamp.”和oauth_version=1.0” $urlEncoded=urlencode($url);//Url编码 $paramsEncoded=urlencode($params);//Url编码 $signatureBase=$httpMethod.&“$URLCoded.”和“$paramsEncoded;”//签名库-根据您的文档进行分类 $key=urlencode($consumerSecret)。“&”//mysecretkey&-url编码秘密kay后跟符号 $signatureBytes=hash_hmac(“sha1”,$signatureBase,$key);//转换为sha1 $signature=base64_编码($signatureBytes);//base64编码 $signatureEncoded=urlencode($signature);//签名url编码。这是最终签名,与我在上一封电子邮件中描述的您的签名不匹配 我已经签署了“NJDHNTUY2M2MDMCYMTQ2ZDNKZWFJYJUXODLOGQ3MGZLZWM1MG%3D%3D”的签名,但益百利开发商表示,根据上述细节,必须签署“Z6VSBWzGByFG096stRhejXD%2b7FI%3D”的宣誓签名 以下是生成宣誓书签名的文档: 手动生成签名 1.我们需要按字母顺序对查询参数进行排序,并添加几个参数,然后将它们组合成一个字符串。这个字符串看起来像是一个标准的查询字符串,但实际上并不打算按原样将其发送到服务器。 oauth_consumer_key=myconsumerkey&oauth_nonce=123456&oauth_signature_method=HMAC-SHA1&oauth_timestamp=999999&oauth_version=1.0 重要的是,字符串看起来与此完全相同,只有三个斜体值替换为您的值Php 如何在益百利api中生成签名,php,.net,Php,.net,我想用php生成誓言签名,但益百利的文档是用.net编写的。我试着问益百利的开发者,但他没有很好的回应。我使用以下代码来开发誓言签名: $timestamp=1461944620;//时隙 $nonce=3774707;//暂时 $consumerKey=“e172b7b1-056f-48be-aeca-a641a60c88ea”//消费者密钥-由益百利开发提供 $ConsumerCret=“1c339256-2e1c-48bb-82c2-8e33abe550fd”//消费者机密-由益百利开发公
$timestamp = time();
$nonce = 5678765;
$consumerKey = "consumerkey";
$consumerSecret = "secret";
$url = "demo.backgroundchecking.com/API/Service/ProductCodes";
$httpMethod = "GET";
$params = "oauth_consumer_key=".$consumerKey."&oauth_nonce=".$nonce."&oauth_signature_method=HMAC-SHA1&oauth_timestamp=".$timestamp."&oauth_version=1.0";
$urlEncoded = urlencode($url);
$paramsEncoded = urlencode($params);
$signatureBase = $httpMethod."&".$urlEncoded."&".$paramsEncoded;
$key = urlencode($consumerSecret)."&";
$signature = urlencode(base64_encode(hash_hmac('sha1', $signatureBase, $key, true)));