有什麼辦法在php中創建一個字符串的HmacSHA256簽名?PHP:我如何生成一個字符串的HmacSHA256簽名
20
A
回答
46
9
的hash_hmac()
功能可以幫助,這裏:
使用 HMAC方法
例如生成帶密鑰的散列值,下面的代碼部分:
$hash = hash_hmac('sha256', 'hello, world!', 'mykey');
var_dump($hash);
給出以下輸出:
string '07a932dd17adc59b49561f33980ec5254688a41f133b8a26e76c611073ade89b' (length=64)
而且,爲了獲得散列可以使用算法的列表,請參閱hash_algos()
。
1
這裏是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));
注:商戶ID和HMAC密鑰都是從DataTrans的文檔可以在這裏找到:https://admin.sandbox.datatrans.com/showcase/doc/Technical_Implementation_Guide.pdf
相關問題
- 1. 在JUnit中生成HmacSHA256簽名
- 2. 測試HmacSHA256簽名
- 3. 生成一個字符串
- 4. PHP:生成唯一的字符串
- 5. 如何產生HMACSHA256簽名計算的隨機密鑰
- 6. 如何多字符串合併成一個字符串在PHP
- 7. 如何生成唯一的字符串
- 8. PHP - 生成字符串
- 9. 如何從字符串集合中生成一個唯一的字符串?
- 10. 如何生成唯一字符串?
- 11. 如何生成符合一個特定的字符串
- 12. 生成一個新的字符串
- 13. REST API認證在PHP - 如何生成一個簽名
- 14. PHP - 我如何修剪一個字符串爲四個字符?
- 15. 如何生成一個字符串使用字母和數字?
- 16. 生成一個字符串的所有覆蓋子字符串
- 17. 生成另一個字符串
- 18. 生成一個隨機字符串
- 19. 生成一個隨機字符串的PHP?
- 20. 我將如何在Ruby中生成一個隨機且唯一的字符串?
- 21. 在PHP中如何生成一個字符串的所有可能的模式?
- 22. OAuth簽名生成(PHP)
- 23. PHP簽名圖片生成
- 24. 如何做一個字符串比較生成文件的目標名稱
- 25. PHP生成類似的字符串
- 26. 如何在Go中生成一個字符串的哈希數?
- 27. 如何生成一個字符串的長散列?
- 28. 從給定字符串生成下一個字符串
- 29. 如何從內存中的數組生成一個數組字符串(php)
- 30. 生成從2個關鍵字一個唯一的字符串
什麼是$字符串裏面? – 2015-10-06 07:38:20
@MahaDev無論你想要簽名。 – 2015-10-06 11:37:30
@SebastianPaaskeTørholm將hash_hmac總是會生成唯一的字符串...? – usama 2017-08-08 12:16:16