Как закодировать слово HMAC-SHA512?

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

Поиск по форуму инфы не дал. Решения из гугла какие то слишком огромные.
 

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
891
Баллы
113
  • Спасибо
Реакции: russya

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28
https://social.msdn.microsoft.com/Forums/vstudio/en-US/c963042a-24d3-45bb-ad00-272c00ed0bd4/encryptdecrypt-using-hmac-algorithm-in-c?forum=csharpgeneral

тут есть нужный код, скопируйте то что относится к 512 битному шифрованию и будет щщастье там строчек 10
спасибо!

может еще подскажете, читаю инструкцию https://exmo.com/ru/api_doc#/authenticated_api , но не могу разобраться http://joxi.ru/a2XQjPJt1M8BRA
получается беру кеу, вставляю в заголовки, беру строку param=val&param1=val1 и кодирую ее секретным ключем в 512 и вставляю код в заголовок что получился. Там еще какое-то nonce не могу понять куда его. Может кто-то делал похожее, подскажите
 
Последнее редактирование:

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
891
Баллы
113
я делал, но не на зенке, сигн это как бы дополнительная верификация
т.е. у вас будет какой то такой запрос
site.ru?key=1234&param=1&param2=2&sign=512hash(param=1&param2=2, secretkey)

ну надеюсь понятно что я тут завернул
т.е. кроме параметров вы еще передаете её подпись, которая представляет из себя те же параметры просто закодированные вашим секретным ключом. Когда сервак получает ваш запрос он тоже проводит такую процедуру и сравнивает подписи, если они совпадают значит все ок и можно выполнять. Фишка в том, что если у вас перехватят один запрос - то нифига не получится сделать второй с другими инструкциями
 

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28
{"result":false,"error":"Error 40003: Authorization error, http header 'Key' not specified"}
все равно не выходит http://joxi.ru/eAO18jnCxdwJjm
 

patlat

Client
Регистрация
21.09.2016
Сообщения
175
Благодарностей
47
Баллы
28
Вот код, ничего сложного, подгружайте в метод секретный ключ и тело сообщения, метод вернёт закодированный запрос.
Кажется я догадываюсь, для какой это соц. сети)
Код:
static string markerPodpisi(string strKey, string date)
        {

            HMACSHA512 hma = new HMACSHA512();
            hma.Key = Encoding.ASCII.GetBytes(strKey);
            byte[] hash = hma.ComputeHash(Encoding.ASCII.GetBytes(date));

            return BitConverter.ToString(hash).Replace("-", "").ToLower();
        }
 
Последнее редактирование:

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
Инста?
 

instacash

Client
Регистрация
22.12.2016
Сообщения
61
Благодарностей
4
Баллы
8

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28
мне для exmo нужно, хочу поторговать криптовалютой. С кодировкой я разобрался, только как запрос отправлять не могу понять https://exmo.com/ru/api_doc#/authenticated_api
 

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28
Код:
https://api.exmo.com/v1/user_info?key=K-f048f803426f492308246b245fd341421df1&param=val&param1=val1&sign=6ad6c5e186adfa84e5e50e2786e3efc127fbbcc3a3e2d0bda2042a10c5e239b6caf73b7f21ec0cfcfd3ab3da4990c2e9a7024527fceb87005eec8c561990a195&nonce=1
ответ
Код:
{"result":false,"error":"Error 40003: Authorization error, http header 'Key' not specified"}
что я делаю не так? почему ошибка и такай же алгоритм на всех биржах
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
891
Баллы
113
ну значит вы передаете какой то заголовок Key который системой не принимается
 

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28
ну key я взял с сайта. Может этот кеу нужно не в ссылке передавать а вместе с юзерагентом, в том же поле.
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
818
Баллы
93
может еще подскажете, читаю инструкцию https://exmo.com/ru/api_doc#/authenticated_api , но не могу разобраться http://joxi.ru/a2XQjPJt1M8BRA
получается беру кеу, вставляю в заголовки, беру строку param=val&param1=val1 и кодирую ее секретным ключем в 512 и вставляю код в заголовок что получился. Там еще какое-то nonce не могу понять куда его. Может кто-то делал похожее, подскажите
Нонсе - это числовое значение которое у каждого нового запроса должно быть больше предыдущего. Варианты решения - взять число от 1 и при каждом запросе увеличивать, сохраняя при увеличении и подгружая из файла при запуске бота. Второй вариант - использовать в качестве nonce дату время в формате unixtime.

С подписью чуть сложнее. Сначала формируем запрос, потом от этого запроса получаем ша-512 хэш от секрета. Потом в заголовки добавляем подпись и ключ.

И вопрос на засыпку, а зачем вы это делаете с нуля на шарпе, если сам эксмо уже предоставляет готовый шарповый апи?
https://github.com/exmo-dev/exmo_api_lib/tree/master/c#
 

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28
Нонсе - это числовое значение которое у каждого нового запроса должно быть больше предыдущего. Варианты решения - взять число от 1 и при каждом запросе увеличивать, сохраняя при увеличении и подгружая из файла при запуске бота. Второй вариант - использовать в качестве nonce дату время в формате unixtime.

С подписью чуть сложнее. Сначала формируем запрос, потом от этого запроса получаем ша-512 хэш от секрета. Потом в заголовки добавляем подпись и ключ.

И вопрос на засыпку, а зачем вы это делаете с нуля на шарпе, если сам эксмо уже предоставляет готовый шарповый апи?
https://github.com/exmo-dev/exmo_api_lib/tree/master/c#
Я C# плохо знаю, хочу на зенке реализовать
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
818
Баллы
93

jonvy

Client
Регистрация
28.11.2015
Сообщения
305
Благодарностей
17
Баллы
18
Ребята, кто проблему с авторизацией на exmo_api решил? Подскажите как
 

jonvy

Client
Регистрация
28.11.2015
Сообщения
305
Благодарностей
17
Баллы
18

tankt80bars

Новичок
Регистрация
29.07.2021
Сообщения
1
Благодарностей
0
Баллы
1

jonvy

Client
Регистрация
28.11.2015
Сообщения
305
Благодарностей
17
Баллы
18

Вложения

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)