这是我第一次参加HMAC, 我有这个方法为HMAC创建哈希字符串:
var msg = method + publicKey + path + privateKey
//like:
var msg = 'GET' + 'MY-PUBLIC-KEY' + '/api/account' + 'MY_PRIVATE_KEY';
我正在使用this库将msg转换为md5。
在我看到的后端代码中
string expectedValue = Hashing.GetHashHMACCMD5OfString(msg, PublicKey)
....
public static string GetHashHMACCMD5OfString(string value, string key)
{
using (var cryptoProvider = new HMACMD5(Encoding.UTF8.GetBytes(key)))
{
var hash = cryptoProvider.ComputeHash(Encoding.UTF8.GetBytes(value));
return Convert.ToBase64String(hash);
}
}
我不知道.net,将msg转换为
就足够了var md5Msg = md5(msg, publickey);
// and request
$http({
url: url,
method: 'GET',
headers: {
'Authentication': md5Msg + ' ' + publickey
}
});
在javascript中还是我需要进行任何其他转换(比如toBase64)?