Chcę zamienić następujący kod C# w PHP.Jaki jest odpowiednik kodu PHP w tym kodowaniu C#?
C# jest:
byte[] operation = UTF8Encoding.UTF8.GetBytes("getfaqs");
byte[] secret = UTF8Encoding.UTF8.GetBytes("Password");
var hmac = newHMACSHA256(secret);
byte[] hash = hmac.ComputeHash(operation);
Jakie mam zamienił się w ten sposób:
$hash = hash_hmac("sha256", utf8_encode("getfaqs"), utf8_encode("Password"));
Wtedy mam:
var apiKey = "ABC-DEF1234";
var authInfo = apiKey + ":" + hash
//base64 encode the authorisation info
var authorisationHeader = Convert.ToBase64String(Encoding.UTF8.GetBytes(authInfo));
co moim zdaniem powinno być:
$authInfo = base64_encode($apiKey . ":" . $hash);
Albo
$authInfo = base64_encode(utf8_encode($apiKey . ":" . $hash));
Ale nie jest pewne, zauważyć to drugie kodowanie wykorzystuje Encoding.UTF8 nie UTF8Encoding.UTF8.
Jak powinien wyglądać kod PHP?
'UTF8Encoding.UTF8' i' Encoding.UTF8 'są równoważne. 'UTF8Encoding' dziedziczy po' Encoding', dzięki czemu zyskuje właściwość 'UTF8'. –