PHPでC#.NETと同じハッシュを計算するのに問題があります。
C#では、次のものがあります。
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
これは次のようなものを生成します:
yBV7ZfAyT1FwO5sGEVd3aPYUfBz9geN6ghK9RO68jwo =
PHPでは、これでハッシュが同じように計算されると思いました。
$hmac = hash_hmac("sha256", "2012-10-01T17:48:56", "secret");
$hmac = base64_encode($hmac);
ただし、それははるかに異なる、より大きなハッシュを生成します。
YzgxNTdiNjVmMDMyNGY1MTcwM2I5YjA2MTE1Nzc3NjhmNjE0N2MxY2ZkODFlMzdhODIxMmJkNDRlZWJjOGYwYQ ==