轉(zhuǎn)換入?yún)⒆址畐aitForSignString 為二進(jìn)制數(shù)組,編碼采用UTF-8(Java代碼如:waitForSignString.getByte("utf-8")),得到簽名入?yún)⒌亩M(jìn)制格式數(shù)據(jù)(waitForSignBytes)。使用MD5,Sha1或Sha256算法對(duì)waitForSignBytes進(jìn)行摘要簽名。得到簽名在結(jié)果二進(jìn)制數(shù)組數(shù)據(jù)(signatureBytes)對(duì)簽名輸出的結(jié)果二進(jìn)制數(shù)組(signatureBytes)進(jìn)行16進(jìn)制的字符串編碼,得到最后的簽名字符串(signature)算法表達(dá)式:String signature = Hex(digest (stringToSign+secretKey)) 其中digest算法可以為:MD5, Sha256Hex請(qǐng)問(wèn)這段簽名算法用php應(yīng)該怎么實(shí)現(xiàn)? php的md5似乎沒(méi)有辦法操作數(shù)組。。。。
1 回答

交互式愛(ài)情
TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
在PHP中,字符串是兼容二進(jìn)制的,并且默認(rèn)就帶有編碼形式,如果你的字符串本身是UTF-8編碼的,那它就已經(jīng)是UTF-8的二進(jìn)制數(shù)組了。
PHP中的md5函數(shù)可以直接計(jì)算字符串(也就是二進(jìn)制數(shù)組)的MD5值,并且默認(rèn)輸出的就是已經(jīng)轉(zhuǎn)換成16進(jìn)制的結(jié)果。
所以,在Java中捺莫多操作所所要實(shí)現(xiàn)的……
在PHP中就是 $md5 = md5('字符串');
添加回答
舉報(bào)
0/150
提交
取消