Если я передаю не фото, а просто текст = {"media":[{"type":"text","text":"привет"}],"publishAt":"2022-08-27 12:05:00","onBehalfOfGroup":"true","disableComments":"false"}.
Я могу записать var attachmentBytes = '{"media":[{"type":"text","text":"привет"}],"publishAt":"2022-08-27 12:05:00","onBehalfOfGroup":"true","disableComments":"false"}'; ? или все необходимо положить в переменную attachment и экранировать?
На другом форуме написали:
-------------
1) var attachment = Convert.ToBase64(attachmentBytes); ToBase64 такого методаа клаасс не содержит, есть метод ToBase64String который в качестве параметра принимает массив байтов а не стринг.
--------------
Я не могу что-то прокомментировать т.к не силен в программировании только начал изучать. Я перепробовал Ваш код по разному и у меня не получилось(. Попробую еще сегодня в VisualStudio вечером, но код выше, который я написал сработал.
Спасибо за код, но у меня он не сработал.
Нашел рабочий вариант, но как в него записать данное выражение: md5("st.attachment=" + attachment + secretKey);
Код:
-------
string input = "Привет";
System.Security.Cryptography.MD5 md5Hasher = System.Security.Cryptography.MD5.Create();
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
StringBuilder md5hash = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
md5hash.Append(data[i].ToString("x2"));
}
return md5hash.ToString();
-------
Как срастить переменные? Не понимаю, что в итоге необходимо сделать. Захешировать всю строку запроса и срастить с secretKey или только st.attachment + secretKey. Как это сделать?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
-------------------
//Получаем значение строки из переменной
string attachment = "Пока";
string secretKey = "123";
string input = $"st.attachment={attachment}{secretKey}";
System.Security.Cryptography.MD5 md5Hasher = System.Security.Cryptography.MD5.Create();
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
StringBuilder md5hash = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
md5hash.Append(data[i].ToString("x2"));
}
return md5hash.ToString();