Вернуться   Биткоин Форум > - Помощь начинающим
25 июля 2011, 7:46:12 AM   # 1
 
 
Сообщений: 29
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я подписал, чтобы помочь jimbobway в другом потоке, но из-за новые ограничения для пользователей, я не могу ответить на него там.

http://forum.bitcoin.org/index.php?topic=29843.0


Тем не менее, это сообщ, вероятно, поможет другим C # кодеры пытаются прорвать кривой обучения, так как новая услуга может быть боль для проверки подлинности, если это не совсем верно. Я потерял более половины дня к нему, но другие помогли мне в прошлом, так что надеюсь, что это помогает ...

Имейте в виде, вы должны будете предоставить свой собственный JSon Parser для возврата строки сообщений

Код:
защищенная строка Post (строка moreargs = NULL) {
// Проверка клиента был экземпляр с apikey и apisecret
если (string.IsNullOrEmpty (this.apiKey) || string.IsNullOrEmpty (this.apiSecret))
певд ArgumentException ( "Невозможно вызвать частный API, без ключа API и секрет" );

// Создать веб-запрос на mtgox

Параметры переменная = "= нонс" + DateTime.Now.Ticks.ToString ();
если (! string.IsNullOrEmpty (moreargs))
Параметры + = "&" + moreargs;
HttpWebRequest WebRequest = (HttpWebRequest) WebRequest.Create (URL);

webRequest.ContentType = "применение / х-WWW-форм-urlencoded";
webRequest.Method = "ПОСЛЕ";
webRequest.UserAgent = "Mozilla / 5.0 (совместимый; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)"; // Вы, вероятно, следует ввести это с вашим клиентом, чтобы они могли помочь диагностировать проблемы для вас в своих журналах !!!
webRequest.Accept = "Применение / JSON";
// Требуется для проверки подлинности на MtGox

webRequest.Headers ["Rest-Key"] = This.apiKey;
webRequest.Headers ["Rest-Sign"] = EncodeParamsToSecret (параметры);

байт [] ByteArray = Encoding.UTF8.GetBytes (параметры);
webRequest.ContentLength = byteArray.Length;

используя (поток DATASTREAM = webRequest.GetRequestStream ()) {
dataStream.Write (ByteArray, 0, byteArray.Length);
}

используя (WebResponse WebResponse = webRequest.GetResponse ()) {
используя (поток ул = webResponse.GetResponseStream ()) {
используя (StreamReader ср = новый StreamReader (ул)) {
вернуть sr.ReadToEnd ();
}
}
}
}





mdbitcoin сейчас офлайн Пожаловаться на mdbitcoin   Ответить с цитированием Мультицитирование сообщения от mdbitcoin Быстрый ответ на сообщение mdbitcoin


Как заработать Биткоины?
Без вложений. Не майнинг.


25 июля 2011, 8:28:52 AM   # 2
 
 
Сообщений: 29
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Получил 1806 Биткоинов
Реальная история.





Имейте в виду, что общее заблуждение, ошибка: "{"ошибка":"Быть внесено в журнал"}" будет применяться в каждом случае неудавшегося за исключением разрешения на права.

mdbitcoin сейчас офлайн Пожаловаться на mdbitcoin   Ответить с цитированием Мультицитирование сообщения от mdbitcoin Быстрый ответ на сообщение mdbitcoin

25 июля 2011, 1:36:16 PM   # 3
 
 
Сообщения: 1398
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Спасибо за это! Я должен взглянуть на него сегодня вечером после работы. Я заметил, что был метод там "EncodeParamsToSecret (параметры);" что не было в коде, публикуемой. Вы не против размещения этого метода делает вас (без ключа и секрета конечно.)
jimbobway сейчас офлайн Пожаловаться на jimbobway   Ответить с цитированием Мультицитирование сообщения от jimbobway Быстрый ответ на сообщение jimbobway

25 июля 2011, 8:40:19 PM   # 4
 
 
Сообщений: 29
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Извини за это. Вот что я получаю за размещение в предрассветные часы утра. Эта часть почти так же, как ваша.

Код:
защищенная строка EncodeParamsToSecret (строковые) {
вар hmacsha512 = новый HMACSHA512 (Convert.FromBase64String (this.apiSecret));
вар ByteArray = hmacsha512.ComputeHash (Encoding.UTF8.GetBytes (параметры));
вернуть Convert.ToBase64String (ByteArray);
}


Я дам вам больше кода, так что вы можете увидеть, как апи вы звоните будет работать ... Я использую
Newtonsoft Json для моего JSon синтаксического анализа.

Код:
защищенный JObject JsonPost (строка moreargs = NULL) {
вернуться JsonConvert.DeserializeObject(Post (moreargs));
}

строка общественного Const PRIVATE_URL = "https://mtgox.com/api/0/";

общественный JObject SendBTC (строка walletaddress, двойной амт) {
URL = новый Ури (PRIVATE_URL + "withdraw.php" );
вернуться jObj = JsonPost (string.Format ( "group1 = BTC&btca = {0}&сумма = {1: f6}", Walletaddress, АМТ));
}


Дайте мне знать, если есть какие-либо другие части я оставил вне. Очевидно, что вы будете иметь, чтобы обернуть функцию в классе, а также набор строк членов apiKey и apiSecret, как вам требуется, а также.

Удачи.

Может быть, когда я получу пересмотренное обслуживание назад он-лайн, вы блог об этом.
mdbitcoin сейчас офлайн Пожаловаться на mdbitcoin   Ответить с цитированием Мультицитирование сообщения от mdbitcoin Быстрый ответ на сообщение mdbitcoin

25 июля 2011, 8:44:25 PM   # 5
 
 
Сообщений: 29
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Ох, и большая часть, если я случайно отправил apiKey и apiSecret, я мог бы пойти в MtGox и удалить старое и создать новое, никогда не волнуясь.
mdbitcoin сейчас офлайн Пожаловаться на mdbitcoin   Ответить с цитированием Мультицитирование сообщения от mdbitcoin Быстрый ответ на сообщение mdbitcoin

26 июля 2011, 12:58:59 AM   # 6
 
 
Сообщения: 1398
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Спасибо. Я получил это работает без имени пользователя и пароля. Потрясающие. PM мне о вашей службе.
jimbobway сейчас офлайн Пожаловаться на jimbobway   Ответить с цитированием Мультицитирование сообщения от jimbobway Быстрый ответ на сообщение jimbobway

26 июля 2011, 1:25:30 AM   # 7
 
 
Сообщений: 29
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Не могли бы вы связать другую должность на этот пост, так что другие могут принести пользу? Я до сих пор не могу ответить на этот поток. Я хотел бы модератор подставил меня.
mdbitcoin сейчас офлайн Пожаловаться на mdbitcoin   Ответить с цитированием Мультицитирование сообщения от mdbitcoin Быстрый ответ на сообщение mdbitcoin

21 сентября 2011, 2:42:00 PM   # 8
 
 
Сообщений: 45
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Вот мой класс vb.net. Вы просто поставить его учетные данные и возвращает разобранный JSON

Код:
'Bitcointalk.org - шестигранная, GPL
Открытый класс MtGoxAPI
Открытое ApiKey Свойства As String
Открытое ApiSecretKey Свойства As String
Открытое UserName Свойства As String
Пароль публичной собственности As String

Public Enum Urls
GetTicker
GetDepth
GetTrades
GetFunds
BuyBTC
SellBTC
GetOrders
Информация
»...
Конец Enum

Private Function GetURL (URL Как URLS) As String
Select Case URL
Дело Urls.GetTicker
Вернуть "http://mtgox.com/api/0/data/ticker.php"
Дело Urls.GetDepth
Вернуть "http://mtgox.com/api/0/data/getDepth.php"
Дело Urls.GetTrades
Вернуть "http://mtgox.com/api/0/data/getTrades.php"
Дело Urls.GetFunds
Вернуть "https://mtgox.com/api/0/getFunds.php"
Дело Urls.BuyBTC
Вернуть "https://mtgox.com/api/0/buyBTC.php"
Дело Urls.SellBTC
Вернуть "https://mtgox.com/api/0/sellBTC.php"
Дело Urls.GetOrders
Вернуть "https://mtgox.com/api/0/getOrders.php"
Дело Urls.Info
Вернуть "https://mtgox.com/api/0/info.php"
Case Else
Певд NotImplementedException ()
End Select
End Function

Public Shared Function UrlEncode (URL As String) As String
Дим г = url.Replace ("!", "% 21")
г = r.Replace ("*", "% 2A")
г = r.Replace ("'", "% 27")
г = r.Replace ("(", "% 28")
г = r.Replace (")", "% 29")
г = r.Replace (";", "% 3B")
г = r.Replace (":", "% 3A")
г = r.Replace ("@", "% 40")
г = r.Replace ("&", "% 26")
г = r.Replace ("знак равно", "% 3D")
г = r.Replace ("+", "% 2B")
г = r.Replace ("$", "% 24")
г = r.Replace (",", "% 2C")
г = r.Replace ("/", "% 2F")
г = r.Replace ("?", "% 3F")
г = r.Replace ("#", "% 23")
г = r.Replace ("[", "% 5B")
г = r.Replace ("]", "% 5D")
Возврат г
End Function

Открытый запрос Функции (URL Как URLS, Params В перечне (кортежи (Of String, String))) Как Newtonsoft.Json.Linq.JObject

Dim strUrl = GetURL (URL)
Если PARAMS ничего после этого PARAMS = Новый список (из кортежей (Of String, String))

Dim REQ Как Net.HttpWebRequest = System.Net.HttpWebRequest.Create (strUrl)
req.UserAgent = "Mozilla / 5.0 (Windows NT 6.1; WOW64; с.в.: 8.0) Gecko / 20110920 Firefox / 8.0"

Dim authRequired = нет (URL = Urls.GetTicker Или URL = Urls.GetDepth Или URL = Urls.GetTrades)

Если authRequired Тогда
Если String.IsNullOrEmpty (ApiKey) Или String.IsNullOrEmpty (ApiSecretKey) или _
String.IsNullOrEmpty (UserName) Или String.IsNullOrEmpty (Password) Затем Throw New ArgumentNullException ("Свойства аутентификации не установлены")

req.Headers.Add ("Rest-Key", ApiKey)
params.Add (Tuple.Create ("данное время", DateTime.Now.Ticks.ToString ()))
params.Add (Tuple.Create ("имя", ИмяПользователь))
params.Add (Tuple.Create ("проходить", Пароль))
End If

Если params.Count Тогда
'Мы должны POST
req.AllowWriteStreamBuffering = True
req.Method = "ПОСЛЕ"
req.ContentType = "применение / х-WWW-форм-urlencoded"
Dim postSB As New System.Text.StringBuilder ()
Для каждых паров В Params
Если postSB.Length Тогда postSB.Append ("&")
postSB.Append (UrlEncode (param.Item1))
postSB.Append ("знак равно")
postSB.Append (UrlEncode (param.Item2))
следующий
Тусклое postBin = System.Text.Encoding.ASCII.GetBytes (postSB.ToString ())

Если authRequired Тогда
Тусклое HMAC = System.Security.Cryptography.HMACSHA512.Create ()
hmac.Key = Convert.FromBase64String (ApiSecretKey)
Дим хэш = hmac.ComputeHash (postBin)
req.Headers.Add ("Rest-Sign", Convert.ToBase64String (хэш))
End If

req.GetRequestStream.Write (postBin, 0, postBin.Length)
End If



Дим ответ = req.GetResponse.GetResponseStream ()
Dim читатель Как IO.StreamReader = Новый IO.StreamReader (ответ)
«Возвращение reader.ReadToEnd ()

Возвращение Newtonsoft.Json.Linq.JObject.Parse (reader.ReadToEnd ())

End Function



End Class
шестигранный сейчас офлайн Пожаловаться на шестигранный   Ответить с цитированием Мультицитирование сообщения от шестигранной Быстрый ответ на сообщение шестигранной

21 сентября 2011, 9:51:03 PM   # 9
 
 
Сообщений: 29
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

шестигранный, я смущен вашей реализации. Я вижу, вы включаете в свое имя пользователя и пароль запроса. Позволяет ли ваша модель либо имя пользователя / пароль или ключ / секрет будет принят?
mdbitcoin сейчас офлайн Пожаловаться на mdbitcoin   Ответить с цитированием Мультицитирование сообщения от mdbitcoin Быстрый ответ на сообщение mdbitcoin

21 сентября 2011, 10:02:21 PM   # 10
 
 
Сообщений: 45
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Нет, это требует ОБА.
Так же, как говорится в документации: https://en.bitcoin.it/wiki/MtGox/API
"В добавок к "данное время" значение, ваши данные POST должны также включать в себя имя пользователя и пароль значение, названном "имя" а также "проходить" соответственно."

Я попытался удалить их, но это не работает.




шестигранный сейчас офлайн Пожаловаться на шестигранный   Ответить с цитированием Мультицитирование сообщения от шестигранной Быстрый ответ на сообщение шестигранной

21 сентября 2011, 11:41:36 PM   # 11
 
 
Сообщений: 29
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Реализация я дала работу и не требует имени пользователя или пароля.

Весь смысл ключом апи / секретном реализации, чтобы дать пользователю управлять своей учетной записи, чтобы они могли аннулировать права на приложение. Если они дают свое имя пользователя и пароль для приложений, они не могут гарантировать, что владелец приложения не будет угнать счет. Пользователь никогда не должен выдавать имя пользователя и пароль. В этом весь смысл.

Во всяком случае, я дам им знать, по меньшей MtGox, что кто-то поставил под угрозу вики. Или, может быть что-то в последнее время изменилось, что я не знаю, о.



mdbitcoin сейчас офлайн Пожаловаться на mdbitcoin   Ответить с цитированием Мультицитирование сообщения от mdbitcoin Быстрый ответ на сообщение mdbitcoin

22 сентября 2011, 12:04:12 AM   # 12
 
 
Сообщений: 45
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #


Пожалуйста, свяжитесь с ним и сообщить мне.
шестигранный сейчас офлайн Пожаловаться на шестигранный   Ответить с цитированием Мультицитирование сообщения от шестигранной Быстрый ответ на сообщение шестигранной

22 сентября 2011, 12:48:16 AM   # 13
 
 
Сообщений: 29
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Я уведомлен знак и я обновил API вики для обсуждения.

Там нет ничего принципиально плохого с помощью имени пользователя и пароля стратегии, но это не поставить под угрозу безопасность личного счета пользователя и побеждает всю цель ключевых апи / тайных прав.

Я имею в виду, если его личное заявление, оно не болит ничего, но если это приложение, как www.automtgox.com, сервис; есть кусок ума, я хочу, чтобы предоставить своим клиентам. Я не должен иметь свои пароли на другие услуги.


Я знаю, почему это случилось тоже. Это происходит потому, что старая реализация пароля по-прежнему функционирует и кодеры, имеющие много неприятностей, получить ключ / секретную модель работать и есть сто статей еще там, описывающие, как использовать старый API с именем пользователя и паролем.

Но чтобы доказать, что я не сумасшедший, это информация о MtGox о ключе / секрете. Вики используется для отражения той же информации, и теперь он не ... Обратите внимание, что в нем не упоминается имя пользователя или пароль.

https://mtgox.com/support/tradeAPI
mdbitcoin сейчас офлайн Пожаловаться на mdbitcoin   Ответить с цитированием Мультицитирование сообщения от mdbitcoin Быстрый ответ на сообщение mdbitcoin

22 сентября 2011, 10:03:37 AM   # 14
 
 
Сообщений: 45
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Я понимаю вас compleatly.

Я не Chenge апи как только ООН и PW больше не требуется.
шестигранный сейчас офлайн Пожаловаться на шестигранный   Ответить с цитированием Мультицитирование сообщения от шестигранной Быстрый ответ на сообщение шестигранной

23 сентября 2011, 12:36:33 AM   # 15
 
 
Сообщений: 29
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Я думал, что услышу что-то назад к настоящему времени, но у меня нет.

В любом случае, единственное, что я могу предложить удалить ключ Api и Тайну из заголовка и посмотреть, если ваше приложение все еще работает. Если это произойдет, то это означает, что ваш ключ / секрет на самом деле не используется и ООН&ПВт получает преимущество.

Я посмотрел на свой код, он выглядит хорошо для меня. Таким образом, только следующая вещь, которую я могу думать, что это требует ООН / ПВт вы не пошли на страницу апите mtgox и установить необходимые права для этого ключа. Проверьте все дальше. Если вы не знаете, что я имею в виду, вы можете проверить видео на www.automtgox.com. Там в части во 2-м видео, которое показывает, как установить ключи API.

Во всяком случае, когда права назначены, вы должны не нужно передавать ип / военнопленный
mdbitcoin сейчас офлайн Пожаловаться на mdbitcoin   Ответить с цитированием Мультицитирование сообщения от mdbitcoin Быстрый ответ на сообщение mdbitcoin

23 сентября 2011, 1:30:57 PM   # 16
 
 
Сообщений: 45
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Неа, он не работает без ключа и подписи.
Я дал предоставленные get_info и торговые права на мой ключ.
шестигранный сейчас офлайн Пожаловаться на шестигранный   Ответить с цитированием Мультицитирование сообщения от шестигранной Быстрый ответ на сообщение шестигранной

12 мая 2012, 2:32:53 PM   # 17
 
 
Сообщения: 3
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Давненько кто писал здесь ..
Hex я просто бродил, если ваш код VB все еще работает, так как я пробовал на другой день с действительными учетными данными и получил сообщение об ошибке:
"Вы не можете войти в API только с логином и паролем", Да и я использовал мой апи ключ / секретный ключ.
SupremePlus сейчас офлайн Пожаловаться на SupremePlus   Ответить с цитированием Мультицитирование сообщения от SupremePlus Быстрый ответ на сообщение SupremePlus

16 мая 2012, 11:35:11 AM   # 18
 
 
Сообщений: 45
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Попробуйте удалить имя пользователя и пароль из кода?
шестигранный сейчас офлайн Пожаловаться на шестигранный   Ответить с цитированием Мультицитирование сообщения от шестигранной Быстрый ответ на сообщение шестигранной

16 мая 2012, 2:44:23 PM   # 19
 
 
Сообщения: 3
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Я попытался удалить их, но он просто бросает должен быть зарегистрирован по ошибке 
SupremePlus сейчас офлайн Пожаловаться на SupremePlus   Ответить с цитированием Мультицитирование сообщения от SupremePlus Быстрый ответ на сообщение SupremePlus

16 мая 2012, 11:00:15 PM   # 20
 
 
Сообщений: 45
Цитировать по имени
цитировать ответ
по умолчанию Re: Проработка нового MtGox Key Секретный API Authentication модели с использованием C #

Я не знаю, то: /
шестигранный сейчас офлайн Пожаловаться на шестигранный   Ответить с цитированием Мультицитирование сообщения от шестигранной Быстрый ответ на сообщение шестигранной



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW