Tôi đang gặp một số sự cố khi tính toán cùng một giá trị băm trong PHP như trong C# .NET.Làm cách nào để tạo cùng một mã thông báo này trong PHP? (Từ .NET)
Trong C#, tôi có như sau:
HMAC hasher = new HMACSHA256(Encoding.UTF8.GetBytes("secret")); //key
byte[] data = hasher.ComputeHash(Encoding.UTF8.GetBytes("2012-10-01T17:48:56")); //timestamp
Convert.ToBase64String(data); //computed token
nào tạo ra một cái gì đó như:
yBV7ZfAyT1FwO5sGEVd3aPYUfBz9geN6ghK9RO68jwo =
Trong PHP, tôi nghĩ điều này sẽ tính toán băm theo cùng một cách:
$hmac = hash_hmac("sha256", "2012-10-01T17:48:56", "secret");
$hmac = base64_encode($hmac);
Tuy nhiên nó tạo ra một khác biệt nhiều, băm lớn hơn:
YzgxNTdiNjVmMDMyNGY1MTcwM2I5YjA2MTE1Nzc3NjhmNjE0N2MxY2ZkODFlMzdhODIxMmJkNDRlZWJjOGYwYQ ==
Vâng, tôi vừa thử điều đó và đó là vấn đề. Cảm ơn bạn! – Buchannon