Генератор двойного SHA-256 (SHA-256d)

Вычисляйте двойной SHA-256 (SHA-256d), хеш Bitcoin: SHA-256 от бинарного дайджеста SHA-256. Ввод в hex, обратный порядок байтов, работает в браузере.

SHA-256d

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое Двойной SHA-256 (SHA-256d)?

Двойной SHA-256, также записываемый как SHA-256d, хеширует ввод SHA-256, а затем хеширует полученный 32-байтовый бинарный дайджест SHA-256 ещё раз. Это хеш, который Bitcoin использует для заголовков блоков, идентификаторов транзакций, деревьев Меркла и контрольных сумм Base58Check. Инструмент также может показать результат в обратном порядке байтов, как отображают хеши обозреватели блоков.

Как пользоваться Двойной SHA-256 (SHA-256d)

  1. Введите данные в Текст для хеширования; для структур Bitcoin выберите Байты в hex как кодировку ввода и вставьте сериализованный заголовок или транзакцию.
  2. Оставьте кодировку Текст (UTF-8), чтобы хешировать обычную строку.
  3. Включите Обратный порядок байтов, чтобы получить значение в том виде, как его показывают обозреватели блоков и Bitcoin Core (txid / хеш блока).
  4. Выберите Формат вывода и нажмите Копировать.

Пример

Ввод
Bitcoin genesis block header (Hex bytes): 0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c, Reverse byte order on
Вывод
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

Это известный хеш генезис-блока. Без обращения порядка байтов вывод — 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000.

Когда использовать Двойной SHA-256 (SHA-256d)

Используйте его, чтобы вручную проверить заголовок блока или идентификатор транзакции Bitcoin, вычислить контрольные суммы Base58Check (первые 4 байта SHA-256d) или воспроизвести значения SHA-256d из других протоколов. Не используйте его для паролей и не применяйте, если спецификация требует обычный SHA-256 — результаты различаются. Повторное хеширование hex-текста дайджеста — тоже не SHA-256d.

Как работает Двойной SHA-256 (SHA-256d)

Инструмент вычисляет SHA-256(SHA-256(data)). Важная деталь: второй SHA-256 берётся от 32 сырых байтов первого дайджеста, а не от его 64-символьной hex-строки — многие онлайн-инструменты делают это неверно. Bitcoin трактует 32-байтовый результат как число в порядке little-endian, поэтому привычный хеш блока с ведущими нулями — это дайджест с обращённым порядком байтов; именно это делает опция Обратный порядок байтов.

Распространенные Случаи Использования

  • Проверить хеш блока Bitcoin по его 80-байтовому заголовку
  • Вычислить идентификатор транзакции (txid) по сырой сериализованной транзакции
  • Рассчитать 4-байтовую контрольную сумму адреса Base58Check или ключа WIF
  • Перепроверить реализацию майнинга или кошелька при разработке

Примечание по Безопасности

SHA-256d так же стоек к коллизиям, как SHA-256. Это не хеш паролей — для паролей используйте Argon2, scrypt или bcrypt. Всё хеширование выполняется локально в вашем браузере.

Часто Задаваемые Вопросы

Почему Bitcoin хеширует дважды?

Сатоши применил SHA-256d, скорее всего, как защиту от атак удлинением сообщения на одиночный хеш Меркла–Дамгарда. Это не усложняет поиск коллизий по сравнению с самим SHA-256, но теперь закреплено в протоколе.

Почему мой результат не совпадает с обозревателем блоков?

Три частые причины: заголовок введён как текст, а не как Байты в hex; второй хеш взят от hex-строки вместо сырого дайджеста; не обращён порядок байтов. Включите Обратный порядок байтов для хешей в стиле обозревателей.

Чему равен двойной SHA-256 от "abc"?

Для ввода UTF-8 и обычного порядка байтов это 4f8b42c22dd3729b519ba6f68d2da7cc5b2d606d05daed5ad5128cc03e6c6358.

Другие категории