Вернуться   Биткоин Форум > - Помощь начинающим
8 апреля 2016, 12:20:42 AM   # 1
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

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


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

Вот где я нахожусь:
Шаг 1) Генерируется случайная двоичная строка
Код:
0100 0100 1101 0000 0000 1111 0110 1110 1011 0010 1110 0101 0100 1001 0001 1100
1101 0111 1010 1011 0111 1110 0111 0001 1000 0101 1101 1000 0001 1011 0110 0111
1010 0010 0011 1100 0100 1001 1000 0000 1111 0110 0010 1011 0010 1110 1101 0000
1001 0001 0100 1101 0011 0010 1011 0111 1110 1011 0001 1100 0101 0101 1000 0001

Шаг 2) Старинная двоичная строка в шестнадцатеричной строки
Код:
44D00F6EB2E5491CD7AB7E7185D81B67A23C4980F62B2ED0914D32B7EB1C5581

Шаг 3) Добавлен 0x80 байт в начало шестнадцатеричной
Код:
8044D00F6EB2E5491CD7AB7E7185D81B67A23C4980F62B2ED0914D32B7EB1C5581

Шаг 4) Хэширована новая шестнадцатеричная строка для SHA256 закодированных строк, взял результат и хэшируются на новую строку SHA256
Код:
2897b55427f86f73136d55c1729cb4ce56d72e40e33baf8ca10e9e02cb963434

Шаг 5) принял первый 4 байта (контрольной сумма) и добавляет их в конце шестнадцатеричной строки из шага-
Код:
8044D00F6EB2E5491CD7AB7E7185D81B67A23C4980F62B2ED0914D32B7EB1C55812897b554


И здесь я теряюсь ... Независимо от того, какой информации я смотрю онлайн я не могу показаться, чтобы выяснить, как превратить последнюю строку в base58check закодированных строк, чтобы завершить процесс превращения его в WIF PrivKey.

Благодаря "TP в Go Bitcoin Тесты"Я знаю, что конечный результат должен быть
Код:
5JLbJxi9koHHvyFEAERHLYwG7VxYATnf8YdA9fiC6kXMghkYXpk

Но я понятия не имею, и я не могу показаться, чтобы найти четкое, последовательное объяснение процесса base58check, который изменил мою модифицированную шестнадцатеричную строку в WIF PrivKey ...

Чтобы было ясно, я хочу на самом деле узнать, как работает процесс, поэтому, пожалуйста, не просто указать мне на инструмент в Интернете, и сказать, "Просто сделайте это здесь, это намного проще",

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


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


8 апреля 2016, 12:40:23 AM   # 2
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

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





Чтобы преобразовать последнюю строку (шаг 5) в base58, вы просто сделать нормальное базовое преобразование. Возьмем строку и думать о нем как массивное число в базе 16. Тогда вам просто нужно сделать стандартную процедуру преобразования между базами и преобразовать его в base58. Существует большое разнообразие программного обеспечения, которое будет делать это, потому что делать это вручную является основной головной болью. Это должно помочь вам: https://en.bitcoin.it/wiki/Base58Check_encoding#Base58_symbol_chart
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

8 апреля 2016, 1:32:25 AM   # 3
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Чтобы преобразовать последнюю строку (шаг 5) в base58, вы просто сделать нормальное базовое преобразование. Возьмем строку и думать о нем как массивное число в базе 16. Тогда вам просто нужно сделать стандартную процедуру преобразования между базами и преобразовать его в base58. Существует большое разнообразие программного обеспечения, которое будет делать это, потому что делать это вручную является основной головной болью. Это должно помочь вам: https://en.bitcoin.it/wiki/Base58Check_encoding#Base58_symbol_chart

Это не кажется правильным ... Если я беру последнюю строку из шага 5 и сделать нормальное базовое преобразование из base16 в base58 я получаю:
Код:
4HJYHtf8hkGGruED9DOGJVsF6StV9Qjc7Va98cfB5hUKdgsIij8

Я должен получать
Код:
5JLbJxi9koHHvyFEAERHLYwG7VxYATnf8YdA9fiC6kXMghkYXpk
ExabyteMiner сейчас офлайн Пожаловаться на ExabyteMiner   Ответить с цитированием Мультицитирование сообщения от ExabyteMiner Быстрый ответ на сообщение ExabyteMiner

8 апреля 2016, 1:40:16 AM   # 4
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

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

8 апреля 2016, 1:47:17 AM   # 5
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

К сожалению, я не понимаю, что вы имеете в виду шестнадцатеричных байт ...

Я не имел никакого формального обучения кодирования, я полностью самоучка, поэтому я прошу прощения, если я что-то недоразумение очень простой.

Я попытался посмотреть, что вы имеете в виду с помощью Google, но не мог найти что-либо отношение.

Как бы я идти о конвертировать мою шестнадцатеричную строку в HEX байт ...?
ExabyteMiner сейчас офлайн Пожаловаться на ExabyteMiner   Ответить с цитированием Мультицитирование сообщения от ExabyteMiner Быстрый ответ на сообщение ExabyteMiner

8 апреля 2016, 2:01:48 AM   # 6
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

К сожалению, я не понимаю, что вы имеете в виду шестнадцатеричных байт ...

Я не имел никакого формального обучения кодирования, я полностью самоучка, поэтому я прошу прощения, если я что-то недоразумение очень простой.

Я попытался посмотреть, что вы имеете в виду с помощью Google, но не мог найти что-либо отношение.

Как бы я идти о конвертировать мою шестнадцатеричную строку в HEX байт ...?
Так что у вас есть шестнадцатеричная строка, которая отличается от шестнадцатеричных байт. Hex байты являются человеческой машиночитаемой формой бинарного. Если вы должны были преобразовать набор шестнадцатеричных байт в двоичном, вы получите 1 и 0, что компьютер читает. С другой стороны, если у вас есть строка, у вас есть что-то совсем другое. На уровне двоичных файлов, каждый символ в строке представляет собой набор байтов, а когда хэш строки, вы хэширования эти байты, а не байты, которые вы на самом деле хотите, которые вы читаете в строке.

Для хэширования байт, вы можете использовать этот сайт: http://www.fileformat.info/tool/hash.htm. Введите шестнадцатеричную строку в "Binary Hash" поле, и это даст вам хэши вниз. Когда вы хеширования снова, убедитесь, что вы делаете то же самое, и хэш байтов.
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

8 апреля 2016, 3:56:36 AM   # 7
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Так что у вас есть шестнадцатеричная строка, которая отличается от шестнадцатеричных байт. Hex байты являются человеческой машиночитаемой формой бинарного. Если вы должны были преобразовать набор шестнадцатеричных байт в двоичном, вы получите 1 и 0, что компьютер читает. С другой стороны, если у вас есть строка, у вас есть что-то совсем другое. На уровне двоичных файлов, каждый символ в строке представляет собой набор байтов, а когда хэш строки, вы хэширования эти байты, а не байты, которые вы на самом деле хотите, которые вы читаете в строке.

Для хэширования байт, вы можете использовать этот сайт: http://www.fileformat.info/tool/hash.htm. Введите шестнадцатеричную строку в "Binary Hash" поле, и это даст вам хэши вниз. Когда вы хеширования снова, убедитесь, что вы делаете то же самое, и хэш байтов.

Большое вам спасибо за вашу помощь, я все ближе и ближе ...

ОК, так что я думаю, что я этот шаг разобрался ...

Если я не ошибаюсь, когда я конвертировать шестнадцатеричной строки из шага 5 назад в шестнадцатеричный байт становится:
Код:
1000 0000 0100 0100 1101 0000 0000 1111 0110 1110 1011 0010 1110 0101 0100 1001
0001 1100 1101 0111 1010 1011 0111 1110 0111 0001 1000 0101 1101 1000 0001 1011
0110 0111 1010 0010 0011 1100 0100 1001 1000 0000 1111 0110 0010 1011 0010 1110
1101 0000 1001 0001 0100 1101 0011 0010 1011 0111 1110 1011 0001 1100 0101 0101
1000 0001 0000 1001 0010 0110 1001 1001 1001 1001

Не совсем уверен, что делать здесь, хотя ...



РЕДАКТИРОВАТЬ:
Я определенно делаю что-то неправильно, потому что, когда я положил в шестнадцатеричной строки из шага 5 в шестнадцатеричном поле в http://convertxy.com/index.php/numberbases/ Я получил:
Код:
1000 0000 0100 0100 1101 0000 0000 1111 0110 1110 1011 0010 1110 0101 0100 1001
0001 1100 1101 0111 1010 1011 0111 1110 0111 0001 1000 0101 1101 1000 0001 1011
0110 0111 1010 0010 0011 1100 0100 1001 1000 0000 1111 0110 0010 1011 0010 1110
1101 0000 1001 0001 0100 1101 0011 0010 1011 0111 1110 1011 0001 1100 0101 0101
1000 0001 1011 0000 1001 0010 0110 1110 1001 1010

Который точно так же, вплоть до последних 8 наборов чисел ...
ExabyteMiner сейчас офлайн Пожаловаться на ExabyteMiner   Ответить с цитированием Мультицитирование сообщения от ExabyteMiner Быстрый ответ на сообщение ExabyteMiner

8 апреля 2016, 4:25:10 AM   # 8
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Большое вам спасибо за вашу помощь, я все ближе и ближе ...

ОК, так что я думаю, что я этот шаг разобрался ...

Если я не ошибаюсь, когда я конвертировать шестнадцатеричной строки из шага 5 назад в шестнадцатеричный байт становится:
Код:
1000 0000 0100 0100 1101 0000 0000 1111 0110 1110 1011 0010 1110 0101 0100 1001
0001 1100 1101 0111 1010 1011 0111 1110 0111 0001 1000 0101 1101 1000 0001 1011
0110 0111 1010 0010 0011 1100 0100 1001 1000 0000 1111 0110 0010 1011 0010 1110
1101 0000 1001 0001 0100 1101 0011 0010 1011 0111 1110 1011 0001 1100 0101 0101

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

8 апреля 2016, 4:49:14 AM   # 9
 
 
Сообщения: 2016
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Используете ли вы язык программирования для этого процесса?

Если да, то на каком языке и какие пакеты или библиотеки вы используете?

Я не уверен, если я должен представлять предложения и примеры в JavaScript, Java, C, C ++, Perl, рубин, PHP, или что-то совсем другое.
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton

8 апреля 2016, 5:02:42 AM   # 10
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

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

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

8 апреля 2016, 5:06:56 AM   # 11
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Используете ли вы язык программирования для этого процесса?

Если да, то на каком языке и какие пакеты или библиотеки вы используете?

Я не уверен, если я должен представлять предложения и примеры в JavaScript, Java, C, C ++, Perl, рубин, PHP, или что-то совсем другое.

До сих пор, я делал все эти шаги, используя основной DOS / пакетные сценарии, которые я пишу, как я иду в сторону от cmdhashgen который используется для SHA256 хеширования.

У меня есть некоторый опыт и понимание в VBS, C, C ++, Perl и PHP.
ExabyteMiner сейчас офлайн Пожаловаться на ExabyteMiner   Ответить с цитированием Мультицитирование сообщения от ExabyteMiner Быстрый ответ на сообщение ExabyteMiner

8 апреля 2016, 5:30:25 AM   # 12
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

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

Я думаю, я понимаю, что вы имеете в виду сейчас, я хочу, чтобы преобразовать его в шестнадцатиричной форме, которая выглядит как:
Код:
0x80 0x44 0x0F 0xD0 0x6E 0xB2 0xE5 0x49 0x1C 0xD7 0xAB 0x7E 0x71 0x85 0x67 0x1B 0xD8 0xA2 0x3C 0x49 0x80 0xF6 0x2B 0x2E 0xD0 0x91 0x4D 0x32 0xB7 0xeb 0x1C 0x55 0x81 0x92 0xb0 0x6e 0x9A

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

8 апреля 2016, 11:47:49 AM   # 13
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

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

Я попытался с помощью этого веб-сайта, но он выводит 16 различных полей только один из которых содержит слово байт, а просто показывает ту же информацию, начиная с шага 5, за исключением заглавных букв были заменены строчными буквами ... Это то, что я ищу ...?
Вы должны поместить шестнадцатеричную строку в текстовом поле на поле с надписью "бинарный хеш", Затем прокрутите вниз и найти один меченый "sha256" и скопировать шестнадцатеричную строку и положить, что в текстовом поле в "бинарный хеш", Затем прокрутите вниз снова и хэш в" sha256" это хэш, который вы хотите для шага 4
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

8 апреля 2016, 2:25:35 PM   # 14
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Вы должны поместить шестнадцатеричную строку в текстовом поле на поле с надписью "бинарный хеш", Затем прокрутите вниз и найти один меченый "sha256" и скопировать шестнадцатеричную строку и положить, что в текстовом поле в "бинарный хеш", Затем прокрутите вниз снова и хэш в" sha256" это хэш, который вы хотите для шага 4

Хорошо, я взял шестнадцатеричную строку из шага 3 (8044D00F6EB2E5491CD7AB7E7185D81B67A23C4980F62B2ED0914D32B7EB1C5581) и побежал через сайт, который дал мне:
Код:
b54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1

Тогда я взял этот результат и побежал через сайт снова, я получил:
Код:
5b0e90510294762f4553a6f717a13d5dce4c4aa6137311b950f2ca90ffc9a035

Почему этот результат отличается от того, что я получил, когда я использовал cmdhashgen хэш строки в SHA256 ...? Потому что я принял ту же строку, побежал через SHA256 кодер cmdhashgen, взял этот результат и повторил, но я получил:
Код:
2897b55427f86f73136d55c1729cb4ce56d72e40e33baf8ca10e9e02cb963434
ExabyteMiner сейчас офлайн Пожаловаться на ExabyteMiner   Ответить с цитированием Мультицитирование сообщения от ExabyteMiner Быстрый ответ на сообщение ExabyteMiner

8 апреля 2016, 7:58:28 PM   # 15
 
 
Сообщения: 2016
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Почему этот результат отличается от того, что я получил, когда я использовал cmdhashgen хэш строки в SHA256 ...? Потому что я принял ту же строку, побежал через SHA256 кодер cmdhashgen, взял этот результат и повторил, но я получил:
Код:
2897b55427f86f73136d55c1729cb4ce56d72e40e33baf8ca10e9e02cb963434

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

Когда вы использовали cmdhashgen, вы рассчитали хэш строки из 64 буквенно-цифровых символов, представленных в формате ASCII.

Сайт вычисляется хэш, используя 32 байт вход:
0xb54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1

cmdhashgen вычисляется хэш 64 байта ввода:
0x62353439303965363033353265663365626464343438623635626564613933386531303336323 462323037633931323239626465366539626136303335316531
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton

8 апреля 2016, 8:21:09 PM   # 16
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

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

Когда вы использовали cmdhashgen, вы рассчитали хэш строки из 64 буквенно-цифровых символов, представленных в формате ASCII.

Сайт вычисляется хэш, используя 32 байт вход:
0xb54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1

cmdhashgen вычисляется хэш 64 байта ввода:
0x62353439303965363033353265663365626464343438623635626564613933386531303336323 462323037633931323239626465366539626136303335316531

Я вижу ... Очень интересно, спасибо за разъяснение.

Для дальнейшего использования как можно преобразовать 64 символов буквенно-цифровое шестнадцатеричное представление в надлежащем 32 байта шестнадцатеричной системы счисления ...?

Другими словами, как я включаю:
Код:
8044D00F6EB2E5491CD7AB7E7185D81B67A23C4980F62B2ED0914D32B7EB1C5581
в надлежащее:
Код:
0xb54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1

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

13 апреля 2016, 12:59:49 PM   # 17
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Сталкиваясь в надежде на ответ ...

Я ценю помощь, оказанную до сих пор, мне просто нужно, чтобы понять это один процесс.

Я понимаю, и даже если вы не чувствуете, как объяснить это сам, не могли бы вы мне точку в правильном направлении, связывая меня к ресурсу или дать мне надлежащие условия поиска Google, который объяснит, как:
Код:
8044D00F6EB2E5491CD7AB7E7185D81B67A23C4980F62B2ED0914D32B7EB1C5581

будет выглядеть так:
Код:
0xb54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1



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

13 апреля 2016, 2:20:16 PM   # 18
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Код:
0xb54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1
Является ли хэш 
Код:
8044D00F6EB2E5491CD7AB7E7185D81B67A23C4980F62B2ED0914D32B7EB1C5581
когда это хешируется в виде двоичных данных, а не в виде строки.
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

13 апреля 2016, 2:36:07 PM   # 19
 
 
Сообщения: 2016
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Сталкиваясь в надежде на ответ ...

Я ценю помощь, оказанную до сих пор, мне просто нужно, чтобы понять это один процесс.

Я понимаю, и даже если вы не чувствуете, как объяснить это сам, не могли бы вы мне точку в правильном направлении, связывая меня к ресурсу или дать мне надлежащие условия поиска Google, который объяснит, как:
Код:
8044D00F6EB2E5491CD7AB7E7185D81B67A23C4980F62B2ED0914D32B7EB1C5581

будет выглядеть так:
Код:
0xb54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1

Спасибо заранее за любую помощь в поиске ответа здесь ...

Проблема не ваше понимание процесса (кроме, возможно, понимание разницы между значением шестигранного и строковым представлением ASCII этого шестнадцатеричного значения).

Основная проблема заключается в вашем понимании этого инструмента вы выбрали для использования:

https://searchcode.com/codesearch/view/11088282/
котировка
cmdhashgen это утилита командной строки, которая может быть использована для генерации
различные хэши для данной строки или файла

Поскольку вы не хотите, чтобы хэш "строка", Это означает, что вам нужно создать файл, который содержит только Значение 32 байт что вы хотите хэш.

Это может быть сделано с XXD, если вы используете систему, которая имеет его ...

Сначала с помощью редактора файлов, чтобы создать файл, который содержит представление, что вы получили бы, если бы вы использовали XXD, чтобы преобразовать файл, который первоначально имел значение:
Код:
0000000: 8044 d00f 6eb2 e549 1cd7 ab7e 7185 d81b ................
0000010: 67a2 3c49 80f6 2b2e D091 4d32 b7eb 1c55 ................
0000020: 81.

Вы можете увидеть здесь, что если вы удалите из первого столбца (который является смещение байта в файле, где происходит эта строка данных) и последний столбец из точек (это просто заполнитель для ASCII-символа, который представляет каждый байт) остальные данные ваш 8044d00f6eb2e5491cd7ab7e7185d81b67a23c4980f62b2ed0914d32b7eb1c5581.

Далее, используйте "задний ход" Функциональность XXD преобразовать обратно в двоичном представлении:
Код:
XXD -r fileWeJustCreated > ourNewFileContainingTheDesiredValueToHash

Теперь у нас есть файл с именем "ourNewFileContainingTheDesiredValueToHash" которая содержит значение 32 байт.

Hash этот файл, и результат должен быть b54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1. Я не использую cmdhashgen, но вот что я получаю, когда я использую OpenSSL:
Код:
OpenSSL dgst -sha256 ourNewFileContainingTheDesiredValueToHash
SHA256 (ourNewFileContainingTheDesiredValueToHash) = b54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1

Теперь, если я просто захватил этот вывод, я бы иметь ASCII строковое представление "b54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1", Так как нам нужны хэш этого значения, мы хотим, чтобы двоичный выход из OpenSSL. OpenSSL имеет "-binary" Опция командной строки, которая будет выводить текущее значение 32 байт вместо 64 символов ASCII строковое представление.
Код:
OpenSSL dgst -sha256 -binary ourNewFileContainingTheDesiredValueToHash > newerFileContainingFinalValueToHash

Теперь у нас есть файл с именем "newerFileContainingFinalValueToHash" которая содержит значение 32 байт. Если cmdhashgen не имеет способность выводить значение 32 байт, вам нужно повторить "обратное XXD" Процесс, который мы сделали с предыдущим значением, чтобы создать файл.

Теперь я могу хэширование этого файла, чтобы получить окончательное значение, которое будет использоваться для контрольной суммы:
Код:
OpenSSL dgst -sha256 newerFileContainingFinalValueToHash
SHA256 (newerFileContainingFinalValueToHash) = 5b0e90510294762f4553a6f717a13d5dce4c4aa6137311b950f2ca90ffc9a035
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton

13 апреля 2016, 5:41:00 PM   # 20
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Нужна помощь в понимании Base58Check Encoding ...

Проблема не ваше понимание процесса (кроме, возможно, понимание разницы между значением шестигранного и строковым представлением ASCII этого шестнадцатеричного значения).

Основная проблема заключается в вашем понимании этого инструмента вы выбрали для использования:

https://searchcode.com/codesearch/view/11088282/
котировка
cmdhashgen это утилита командной строки, которая может быть использована для генерации
различные хэши для данной строки или файла

Поскольку вы не хотите, чтобы хэш "строка", Это означает, что вам нужно создать файл, который содержит только Значение 32 байт что вы хотите хэш.

Это может быть сделано с XXD, если вы используете систему, которая имеет его ...

Сначала с помощью редактора файлов, чтобы создать файл, который содержит представление, что вы получили бы, если бы вы использовали XXD, чтобы преобразовать файл, который первоначально имел значение:
Код:
0000000: 8044 d00f 6eb2 e549 1cd7 ab7e 7185 d81b ................
0000010: 67a2 3c49 80f6 2b2e D091 4d32 b7eb 1c55 ................
0000020: 81.

Вы можете увидеть здесь, что если вы удалите из первого столбца (который является смещение байта в файле, где происходит эта строка данных) и последний столбец из точек (это просто заполнитель для ASCII-символа, который представляет каждый байт) остальные данные ваш 8044d00f6eb2e5491cd7ab7e7185d81b67a23c4980f62b2ed0914d32b7eb1c5581.

Далее, используйте "задний ход" Функциональность XXD преобразовать обратно в двоичном представлении:
Код:
XXD -r fileWeJustCreated > ourNewFileContainingTheDesiredValueToHash

Теперь у нас есть файл с именем "ourNewFileContainingTheDesiredValueToHash" которая содержит значение 32 байт.

Hash этот файл, и результат должен быть b54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1. Я не использую cmdhashgen, но вот что я получаю, когда я использую OpenSSL:
Код:
OpenSSL dgst -sha256 ourNewFileContainingTheDesiredValueToHash
SHA256 (ourNewFileContainingTheDesiredValueToHash) = b54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1

Теперь, если я просто захватил этот вывод, я бы иметь ASCII строковое представление "b54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1", Так как нам нужны хэш этого значения, мы хотим, чтобы двоичный выход из OpenSSL. OpenSSL имеет "-binary" Опция командной строки, которая будет выводить текущее значение 32 байт вместо 64 символов ASCII строковое представление.
Код:
OpenSSL dgst -sha256 -binary ourNewFileContainingTheDesiredValueToHash > newerFileContainingFinalValueToHash

Теперь у нас есть файл с именем "newerFileContainingFinalValueToHash" которая содержит значение 32 байт. Если cmdhashgen не имеет способность выводить значение 32 байт, вам нужно повторить "обратное XXD" Процесс, который мы сделали с предыдущим значением, чтобы создать файл.

Теперь я могу хэширование этого файла, чтобы получить окончательное значение, которое будет использоваться для контрольной суммы:
Код:
OpenSSL dgst -sha256 newerFileContainingFinalValueToHash
SHA256 (newerFileContainingFinalValueToHash) = 5b0e90510294762f4553a6f717a13d5dce4c4aa6137311b950f2ca90ffc9a035

Спасибо за ваш ответ!

Хорошо, я XXD и OpenSSL как и я, кажется, получают какие-то странные результаты.

Когда я создаю NewFile.txt с данными:
Код:
8044d00f6eb2e5491cd7ab7e7185d81b67a23c4980f62b2ed0914d32b7eb1c5581

а затем запустить:
Код:
XXD -r NewFile.txt > NewFile2.txt

NewFile2.txt возвращается пустой ...


Кроме того, если я бегу:
Код:
XXD NewFile.txt > NewFile2.txt

Я получил:
Код:
0000000: 3830 3434 6430 3066 3665 6232 6535 3439 8044d00f6eb2e549
0000010: 3163 6437 6162 3765 3731 3835 6438 3162 1cd7ab7e7185d81b
0000020: 3637 6132 3363 3439 3830 6636 3262 3265 67a23c4980f62b2e
0000030: 6430 3931 3464 3332 6237 6562 3163 3535 d0914d32b7eb1c55
0000040: 3831 81

Что выглядит несколько иначе, чем в результате вы получили ...


РЕДАКТИРОВАТЬ:
Эврика! Мне нужно добавить флаг -p! Так:
Код:
XXD -r -p NewFile.txt > NewFile2.txt

а потом
Код:
OpenSSL dgst -sha256 NewFile2.txt > hashed.txt

Вывод правильный:
Код:
b54909e60352ef3ebdd448b65beda938e103624b207c91229bde6e9ba60351e1

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW