byte[] 不包含 concat 的定义

byte[] does not contain a definition for concat

我正在尝试使用找到的这个问题的答案在我的 .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);
 }

感谢任何见解和知识,谢谢。

oauth_consumer_secret 需要是 byte[] 并且您似乎试图传递 string。您应该这样做:

//snip
var encodedSecret = Encoding.UTF8.GetBytes(oauth_consumer_secret);
var key2 = key1.Concat(encodedSecret).ToArray();
//snip

我怀疑您只是缺少程序集 include

using System.Linq;