PHP Sha-256 没有给出 ogone 要求的结果

PHP Sha-256 not giving result as required by ogone

我有一个要用 sha-256 散列的问题

string= ACCEPTURL=http://atifali.com/pn/index.php?ic=paymentdone&id=E0I0m21E20n2OddgqckVb$Y8U027S7+++HASHKEY+++AMOUNT=7600+++HASHKEY+++BGCOLOR=#f1f3f2+++HASHKEY+++BUTTONBGCOLOR=#2f85c4+++HASHKEY+++BUTTONTXTCOLOR=#FFFFFF+++HASHKEY+++CANCELURL=http://atifali.com/pn/?ic=payment+++HASHKEY+++CN=WAQAS KHAN+++HASHKEY+++CURRENCY=GBP+++HASHKEY+++DECLINEURL=http://atifali.com/pn/?ic=payment+++HASHKEY+++EXCEPTIONURL=http://atifali.com/pn/?ic=payment+++HASHKEY+++HOMEURL=http://atifali.com/pn/+++HASHKEY+++LANGUAGE=en_us+++HASHKEY+++ORDERID=sterlingpharma1234+++HASHKEY+++PSPID=sterlingpharma+++HASHKEY+++TXTCOLOR=#2f85c4+++HASHKEY+++

ogone 的预期结果是:

979600BF6E1789CDD18B0F5669C7F2A958E88736B4C23BE2FC0B47FEF25496AF

但我得到的结果是:

267B4AD7CF0ACD3E2111ADD33CAFDD91EE1C4ACAEEF946C846D92A220283D4D9

通过使用:

strtoupper(hash('sha256',$stringToHash))

我很好奇,试一试。我检查了 the manual on page 14 并找到了一些输入字符串。

我用了your code on the value,结果是

E019359BAA3456AE5A986B6AABD22CF1B3E09438739E97F17A7F61DF5A11B30F

这和我在 SHA Test Page 从 ogone 上得到的完全一样。

所以哈希函数是正确的。我猜你弄错了实际的字符串。最好的测试方法是使用简单的字符串,例如 'test'.