我想將以下C#代碼轉換爲PHP。這個C#編碼代碼的PHP等價物是什麼?
C#的是:
byte[] operation = UTF8Encoding.UTF8.GetBytes("getfaqs");
byte[] secret = UTF8Encoding.UTF8.GetBytes("Password");
var hmac = newHMACSHA256(secret);
byte[] hash = hmac.ComputeHash(operation);
我已經變成這樣:
$hash = hash_hmac("sha256", utf8_encode("getfaqs"), utf8_encode("Password"));
然後,我有:
var apiKey = "ABC-DEF1234";
var authInfo = apiKey + ":" + hash
//base64 encode the authorisation info
var authorisationHeader = Convert.ToBase64String(Encoding.UTF8.GetBytes(authInfo));
我想這應該是:
$authInfo = base64_encode($apiKey . ":" . $hash);
或者
$authInfo = base64_encode(utf8_encode($apiKey . ":" . $hash));
但不能肯定,注意到這個第二編碼使用Encoding.UTF8,不UTF8Encoding.UTF8。
PHP代碼應該是什麼樣子?
'UTF8Encoding.UTF8'和'Encoding.UTF8 '是等同的。 'UTF8Encoding'從'Encoding'繼承,因此它獲得了'UTF8'屬性。 –