我正在尝试将一段代码从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。