Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中将哈希字符串转换为md5?_Javascript_.net_Hmac - Fatal编程技术网

如何在javascript中将哈希字符串转换为md5?

如何在javascript中将哈希字符串转换为md5?,javascript,.net,hmac,Javascript,.net,Hmac,这是我第一次在HMAC上工作, 我使用此方法为HMAC创建哈希字符串: var msg = method + publicKey + path + privateKey //like: var msg = 'GET' + 'MY-PUBLIC-KEY' + '/api/account' + 'MY_PRIVATE_KEY'; 我正在使用库将msg转换为md5。 在后端代码中,我看到 string expectedValue = Hashing.GetHashHMACCMD

这是我第一次在HMAC上工作, 我使用此方法为HMAC创建哈希字符串:

    var msg = method + publicKey + path + privateKey
    //like:
   var msg = 'GET' + 'MY-PUBLIC-KEY' + '/api/account' + 'MY_PRIVATE_KEY';
我正在使用库将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)来完成?

只是一些MD5的背景知识,还不完全清楚javascript和.net代码之间有什么交互。您想通过ajax调用使用.Net MD5哈希代码吗?此外,我同意@JohnHartsock。确保MD5对于你的使用是必要的,并考虑另一种选择。正如您所看到的,我使用AngularJs和Xhr请求来验证我需要使用HMAC的客户端。问题是,当我像前面提到的那样将msg转换为md5Msg时,结果与我在响应响应dev模式的预期值中得到的预期值不同