简体   繁体   English

byte []不包含concat的定义

[英]byte[] does not contain a definition for concat

I'm attempting to generate a HMAC-SHA1 in my .Net Core application using the answer found to this question: 我正在尝试使用发现此问题的答案在.Net Core应用程序中生成HMAC-SHA1:

generate HMAC-SHA1 in C# 在C#中生成HMAC-SHA1

However, I am getting an error of byte[] does not contain a defintion for Concat . 但是,我收到了byte[] does not contain a defintion for Concat的错误,其中byte[] does not contain a defintion for Concat I've tried searching around on here and I haven't seem to come across an answer. 我尝试在这里搜索,但似乎没有找到答案。

This error occurs at the line var key2 = key1.Concat(oauth_consumer_secret).ToArray(); 在行var key2 = key1.Concat(oauth_consumer_secret).ToArray();处发生此错误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);
 }

Any insight and knowledge is appreciated, thank you. 感谢您的任何见识和知识,谢谢。

我怀疑您只是缺少装配包括

using System.Linq;

oauth_consumer_secret needs to be a byte[] and you appear to be trying to pass a string in. You should do this instead: oauth_consumer_secret必须是一个byte[]并且您似乎试图传递一个string 。您应该这样做:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM