Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
3 декабря 2013, 7:02:15 PM   # 1
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы проверочных корень Merkle из двух дочерних узлов

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


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

Давайте использовать следующий блок для справки: http://blockexplorer.com/rawblock/00000000000000001e8d6829a8a21adc5d38d0a473b144b6765798e61f98bd1d

По моему разумению (правильный, если неправильно), мне нужно выполнить byteSwap на каждом ребенке, выполнить hexToAscii, конкатенацию, а затем выполнить двойную SHA256. Я делаю это в JAVA, в подозреваемого, что мой метод hexToAscii выключен. Я надеялся, что я мог бы дать некоторые результаты, чтобы увидеть, если кто-то может проверить, где проблема.

Код:
Строка childNode = "0d0eb1b4c4b49fd27d100e9cce555d4110594661b1b8ac05a4b8879c84959bd4";
byteSwap (childNode); // d49b95849c87b8a405acb8b161465910415d55ce9c0e107dd29fb4c4b4b10e0d
hexToAscii (byteSwap (childNode)); // Фё¤¬ё ± Afya] Uо} ТґДґ ±

И просто чтобы убедиться, что мой результат hexToAscii правильно, может кто-то проверить SHA256 хэш результата? Я чувствую, что есть кодирующие проблемы с моей реализацией

Код:
sha256 (hexToAscii (byteSwap (childNode)));
// e799dc13aaeaa1c2797596f5d4bf6c408b97a8595bf32c27c9186125454560d9

Был бы признателен за любой совет, если что-то кажется прочь! Благодаря!

Я убежден, что существует проблема JAVA с моей реализацией hexToAscii.

Код:
Строка hexToBin общественности (String шестигранной) {
 StringBuilder SB = новый StringBuilder ();
 StringBuilder, темп = новый StringBuilder ();
 // 49204c6f7665204a617661 разделилась на два символа 49, 20, 4с ...
 для (INT I = 0; я < hex.length () - 1; I + = 2) {
     // захватить гекс в парах
     Строка вывода = hex.substring (я, (I + 2));
     // преобразовать шестнадцатеричный в десятичную
     INT = десятичное Integer.parseInt (выход, 16);
     // преобразовать десятичное в символ
      sb.append ((символ) десятичный);
     temp.append (десятичное);
 }
 вернуть sb.toString ();
}


Некоторые знания будут оценены здесь = / Спасибо

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


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


3 декабря 2013, 7:38:25 PM   # 2
 
 
Сообщения: 141
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы проверочных корень Merkle из двух дочерних узлов

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





Для справки

"0d0eb1b4c4b49fd27d100e9cce555d4110594661b1b8ac05a4b8879c84959bd4"

Endian местами и двойной sha256:
"2b9f3fd09cf042ce9eb019b72ac356db63121c1f56ad6af6cbd401bdf0d51f16"

РЕДАКТИРОВАТЬ:

Не должно ли это быть 1?
Выходная строка = hex.substring (я, (я + 2));


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

3 декабря 2013, 8:15:12 PM   # 3
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы проверочных корень Merkle из двух дочерних узлов

Спасибо за ответ! На самом деле, подстрока (I, (I + 2)) не включает I + 2, так что результат только два последовательных символов.

Кроме того, вы сказали

котировка
Endian местами и двойной sha256:
"2b9f3fd09cf042ce9eb019b72ac356db63121c1f56ad6af6cbd401bdf0d51f16"

Вы уверены, что все, что вы сделали? Я получил следующее:

Код:
Строка хэша = "0d0eb1b4c4b49fd27d100e9cce555d4110594661b1b8ac05a4b8879c84959bd4"
flipHex (хэш); // d49b95849c87b8a405acb8b161465910415d55ce9c0e107dd29fb4c4b4b10e0d
dsha256 (flipHex (хэш)); // fa17aefd43501ded4b8dba60fcd1f3f7254eeb0023894a543d0ca800998591bd

Полностью отличается. Теперь я подвергаю сомнению мой метод dsha256 ...
tyrick сейчас офлайн Пожаловаться на tyrick   Ответить с цитированием Мультицитирование сообщения от tyrick Быстрый ответ на сообщение tyrick

3 декабря 2013, 8:23:23 PM   # 4
 
 
Сообщения: 141
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы проверочных корень Merkle из двух дочерних узлов

котировка
Спасибо за ответ! На самом деле, подстрока (I, (I + 2)) не включает I + 2, так что результат только два последовательных символов.

Я не разработчик Java, так что было просто неправильно догадка  

котировка
Вы уверены, что все, что вы сделали? Я получил следующее:

Я 100% уверен, "2b9f3fd09cf042ce9eb019b72ac356db63121c1f56ad6af6cbd401bdf0d51f16" (Прямой порядок байтов) является правильным двойной sha256 хэш "d49b95849c87b8a405acb8b161465910415d55ce9c0e107dd29fb4c4b4b10e0d" (Маленький обратный порядок байт)

РЕДАКТИРОВАТЬ:
Код:
станд :: соиЬ << Функции :: double_sha256 (функции :: hexTostring (функции :: endian_swap ( "0d0eb1b4c4b49fd27d100e9cce555d4110594661b1b8ac05a4b8879c84959bd4" ))) << станд :: епсИ;

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

3 декабря 2013, 8:44:50 PM   # 5
 
 
Сообщений: 32
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы проверочных корень Merkle из двух дочерних узлов

Код:
(-> "0d0eb1b4c4b49fd27d100e9cce555d4110594661b1b8ac05a4b8879c84959bd4"
    HEX->байтов
    обратного байтов
    двойной sha256
    bytes->шестигранный)

;; "2b9f3fd09cf042ce9eb019b72ac356db63121c1f56ad6af6cbd401bdf0d51f16"

Here're мой Java криптографию:

Код:
(:Импортировать
 [Java.security MessageDigest])

(Defn sha256 [данные]
  (-> (MessageDigest / деЫпзЬапс "SHA-256" "До нашей эры")
      (.digest данные)))

(Defn дважды sha256 [данные]
  (Sha256 (sha256 данные)))

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

3 декабря 2013, 9:23:52 PM   # 6
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы проверочных корень Merkle из двух дочерних узлов

AHHH THANKSSSSS.

danneu, это была именно моя проблема!

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW