用PHP編寫的代碼,我是Java開發人員,我嘗試使用他們已經解釋過兩個例子,第一個與PHP
和第二個與C#
一個Web服務API(ticketutils)。不幸的是,我無法得到任何一個。我在下面提到了PHP示例。諒解一塊使用Zend框架
public function GenerateSignature($Secret,$PathAndQuery)
{
return base64_encode(\Zend_Crypt_Hmac::compute($Secret, 'sha256',
$PathAndQuery, \Zend_Crypt_Hmac::BINARY));
}
任何人都可以請解釋我怎樣才能實現與Java代碼相同?我已經嘗試了下面的代碼,但它似乎沒有產生適當的結果。
public static String generateSignature(String secrete, String pathAndQuery){
String encoded = null;
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(secrete.getBytes("UTF-8"));
md.update(pathAndQuery.getBytes("UTF-8"));
byte[] digest = md.digest();
encoded = Base64.getEncoder().encodeToString(digest);
} catch (Exception e) {
e.printStackTrace();
}
return encoded;
}
注:我使用的Java-8,而上面的代碼編寫。
我想從C#與Java也許更容易.. –
@aaronxxx,您也可以看到C#方法(請參閱鏈接),並儘可能幫助我。 –