我正在尝试使用此问题的答案在我的.Net Core应用程序中生成HMAC-SHA1:
但是,我收到错误byte[] does not contain a defintion for Concat
。我试过在这里搜索,似乎没有得到答案。
此错误发生在第var key2 = key1.Concat(oauth_consumer_secret).ToArray();
行
using (var sha1 = SHA1.Create())
{
var encodedStringAsByte = Encoding.UTF8.GetBytes(encodedString);
var key1 = sha1.ComputeHash(encodedStringAsByte);
var key2 = key1.Concat(oauth_consumer_secret).ToArray();
var key3 = sha1.ComputeHash(key2);
string signature = Convert.ToBase64String(key3);
}
感谢您的任何见解和知识,谢谢。
答案 0 :(得分:3)
我怀疑你刚刚错过了汇编
using System.Linq;
答案 1 :(得分:2)
oauth_consumer_secret
必须是byte[]
,您似乎正在尝试传递string
。您应该这样做:
//snip
var encodedSecret = Encoding.UTF8.GetBytes(oauth_consumer_secret);
var key2 = key1.Concat(encodedSecret).ToArray();
//snip