Tôi muốn biến mã C# sau thành PHP.PHP tương đương với mã mã hóa C# này là gì?
C# là:
byte[] operation = UTF8Encoding.UTF8.GetBytes("getfaqs");
byte[] secret = UTF8Encoding.UTF8.GetBytes("Password");
var hmac = newHMACSHA256(secret);
byte[] hash = hmac.ComputeHash(operation);
Mà tôi đã biến thành này:
$hash = hash_hmac("sha256", utf8_encode("getfaqs"), utf8_encode("Password"));
Sau đó, tôi có:
var apiKey = "ABC-DEF1234";
var authInfo = apiKey + ":" + hash
//base64 encode the authorisation info
var authorisationHeader = Convert.ToBase64String(Encoding.UTF8.GetBytes(authInfo));
Mà tôi nghĩ nên là:
$authInfo = base64_encode($apiKey . ":" . $hash);
Hoặc
$authInfo = base64_encode(utf8_encode($apiKey . ":" . $hash));
Nhưng không chắc chắn, hãy chú ý mã hóa thứ hai này sử dụng Encoding.UTF8, không UTF8Encoding.UTF8.
Mã PHP nên trông như thế nào?
'UTF8Encoding.UTF8' và' Encoding.UTF8 'là tương đương. 'UTF8Encoding' kế thừa từ' Encoding' để nó có được thuộc tính 'UTF8'. –