在 PHP 中为铁路 PNR API 生成 HMAC SHA1
Generate HMAC SHA1 for Rail PNR API in PHP
我正在尝试生成 HMAC SHA1 哈希以使用 Railway PNR API.
I am using PHP Framework Codeigniter. I used the helper given here.
Then I tried to generate the hash and compare it with the Hash Generator 铁路 PNR API 网站.
但是哈希值,即我生成的哈希值和我从 Rail PNR API 站点 获得的哈希值都是不一样。
然后我尝试使用在线工具生成相同的哈希值。但是生成的哈希值仍然与来自 API 站点的哈希值不同。
我的三个数据如下:
- PNR:1234567890
- 格式: json
- Public Api 密钥:
<<b>我的 Public Api 密钥</b>>
所以需要散列的数据是:1234567890json<<b>My Public Api Key</b>>
使用 <<b> 我的私人 Api 密钥</b>>
不知道是生成hash的方法不对还是我做的不对。我几乎完全遵循了 there 正确说明的每个步骤。
如果解决方案在 javascript 中可用,我没问题,但更优选 PHP。
编辑:
我什至阅读了以下内容,但他们无能为力:
-- Trying to digitally sign via HMAC-SHA1 with PHP
-- OpenSSL HMAC-SHA1 digest does not match Crypto's
请帮帮我...
谢谢。
要在 API 中传递的值应该按字母顺序排列。就像我上面的例子一样,如果我们按字母顺序排列键,keys 将是:format, pbapisign(即 public键) 和 pnr.
所以要散列的字符串将是 <b>'json'.'<My Public API Key>'.'1234567890'</b>
.
现在生成哈希,基本上你可以使用任何PHP函数。我使用 hash_hmac() 函数生成散列。
现在它对我有用。希望这对使用铁路 PNR API.
的任何人有所帮助
谢谢。
我正在尝试生成 HMAC SHA1 哈希以使用 Railway PNR API.
I am using PHP Framework Codeigniter. I used the helper given here.
Then I tried to generate the hash and compare it with the Hash Generator 铁路 PNR API 网站.
但是哈希值,即我生成的哈希值和我从 Rail PNR API 站点 获得的哈希值都是不一样。
然后我尝试使用在线工具生成相同的哈希值。但是生成的哈希值仍然与来自 API 站点的哈希值不同。
我的三个数据如下:
- PNR:1234567890
- 格式: json
- Public Api 密钥:
<<b>我的 Public Api 密钥</b>>
所以需要散列的数据是:1234567890json<<b>My Public Api Key</b>>
使用 <<b> 我的私人 Api 密钥</b>>
不知道是生成hash的方法不对还是我做的不对。我几乎完全遵循了 there 正确说明的每个步骤。
如果解决方案在 javascript 中可用,我没问题,但更优选 PHP。
编辑:
我什至阅读了以下内容,但他们无能为力:
-- Trying to digitally sign via HMAC-SHA1 with PHP
-- OpenSSL HMAC-SHA1 digest does not match Crypto's
请帮帮我...
谢谢。
要在 API 中传递的值应该按字母顺序排列。就像我上面的例子一样,如果我们按字母顺序排列键,keys 将是:format, pbapisign(即 public键) 和 pnr.
所以要散列的字符串将是 <b>'json'.'<My Public API Key>'.'1234567890'</b>
.
现在生成哈希,基本上你可以使用任何PHP函数。我使用 hash_hmac() 函数生成散列。
现在它对我有用。希望这对使用铁路 PNR API.
的任何人有所帮助谢谢。