轉換入參字串waitForSignString 為二進位數組,編碼採用UTF-8(Java代碼如:waitForSignString.getByte("utf-8")),得到簽名入參的二進位格式資料(waitForSignBytes)。
使用MD5,Sha1或Sha256演算法對waitForSignBytes進行摘要簽署。得到簽章在結果二進位數組資料(signatureBytes)
對簽章輸出的結果二進位陣列(signatureBytes)進行16進位的字串編碼,得到最後的簽章字串(signature)
演算法表達式:
String signature = Hex(digest (stringToSign+secretKey)) 其中digest演算法可以為:MD5, Sha256Hex
請問這段簽章演算法用php該怎麼實作? php的md5似乎沒有辦法操作陣列。 。 。 。
轉換入參字串waitForSignString 為二進位數組,編碼採用UTF-8(Java代碼如:waitForSignString.getByte("utf-8")),得到簽名入參的二進位格式資料(waitForSignBytes)。
使用MD5,Sha1或Sha256演算法對waitForSignBytes進行摘要簽署。得到簽章在結果二進位數組資料(signatureBytes)
對簽章輸出的結果二進位陣列(signatureBytes)進行16進位的字串編碼,得到最後的簽章字串(signature)
演算法表達式:
String signature = Hex(digest (stringToSign+secretKey)) 其中digest演算法可以為:MD5, Sha256Hex
請問這段簽章演算法用php該怎麼實作? php的md5似乎沒有辦法操作陣列。 。 。 。
在PHP中,字串是相容二進位的,並且預設就帶有編碼形式,如果你的字串本身是UTF-8編碼的,那它就已經是UTF-8的二進位數組了。
PHP中的md5函數可以直接計算字串(也就是二進位陣列)的MD5值,預設輸出的就是已經轉換成16進位的結果。
所以,在Java中捺莫多操作所要實現的…
在PHP中就是 $md5 = md5('字串');