私はASPにこのコードを持っています:
Public Function ComputeCredentialHash(ByVal timestamp As DateTime, ByVal id As String, ByVal authKey As String) As String
Dim sig As String = timestamp.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ") & id & authKey
Dim sigdata As Byte() = System.Text.Encoding.ASCII.GetBytes(sig)
Dim md5 As System.Security.Cryptography.MD5 = New System.Security.Cryptography.MD5CryptoServiceProvider()
Dim md5Hash As String = System.Convert.ToBase64String(md5.ComputeHash(sigdata))
Return md5Hash
End Function
そして、同じことをするPHP関数を書く必要があります。これまでのところ:
function ComputeCredentialHash ($timestamp, $id, $authKey) {
$sigData = mb_convert_encoding($timestamp.$id.$authKey, "ASCII", "auto");
$md5 = md5($sigData);
$md5Hash = base64_encode($md5);
echo "ComputeCredentialHash => $md5Hash<br/>Sig Data => $sigData<br/>MD5 Sig => $md5<br/>";
return $md5Hash;
}
しかし、これは機能しません。それは関数によるものASCII.GetBytes
だと思いますが、それが何をするのかよくわからないので、どうやって変換するのかよくわかりません。バイト数を返すだけのように見えますが、それは私にはあまり意味がありません(なぜ、ハッシュを作成するのに非常に一般的なものが得られるのでしょうか)。とにかく、誰かが助けてくれるなら、私はそれをいただければ幸いです。