将C#HMACSHA256转换为javascript

时间:2018-10-23 18:34:55

标签: javascript c#

我正在尝试将一段代码从C#转换为javascript。 C#代码为:

obj = {
        a: 1,
  longkey: 2,
      zxc: 3
}

到目前为止,要在javascript中转换此代码,请执行以下操作:

string sigB64Str;
string sec = "testSecret";
string dataString = "myMessageString";
byte[] databyte = Encoding.UTF8.GetBytes(dataString);

        byte[] secKeyBytes = Convert.FromBase64String(sec);

        using (HMACSHA256 hmac = new HMACSHA256(secKeyBytes))
        {
            byte[] sigBytes = hmac.ComputeHash(databyte);
            sigB64Str = Convert.ToBase64String(sigBytes);
        }

我将其转换为字节数组的函数”

var sec = "testSecret"; 
var myString= "myMessageString";

//convert string into byte array
var byteString = strToByte(myString);

//convert sec key to byte arr
var byteSec = strToByte(atob(sec));

//run hmacSHA256 function using string and
var hash = CryptoJS.HmacSHA256(byteString, byteSec);
var msg = hash.toString(CryptoJS.enc.Base64);

}

当我使用hmacsha256的字节数组运行它时,出现错误“ crypto-js.js:1918 Uncaught TypeError:r.clamp不是函数”

我尝试将字节数组转换为字符串,并尝试在黑暗中拍摄,但这也不起作用。我确定我正在寻找某些东西,或者可能有一个JavaScript库可以允许我将字节数组用于hmacsha256。

0 个答案:

没有答案