Генератор двойного SHA-256 (SHA-256d)
Вычисляйте двойной SHA-256 (SHA-256d), хеш Bitcoin: SHA-256 от бинарного дайджеста SHA-256. Ввод в hex, обратный порядок байтов, работает в браузере.
Работает полностью в вашем браузере. Ваши данные никуда не загружаются.
Что такое Двойной SHA-256 (SHA-256d)?
Двойной SHA-256, также записываемый как SHA-256d, хеширует ввод SHA-256, а затем хеширует полученный 32-байтовый бинарный дайджест SHA-256 ещё раз. Это хеш, который Bitcoin использует для заголовков блоков, идентификаторов транзакций, деревьев Меркла и контрольных сумм Base58Check. Инструмент также может показать результат в обратном порядке байтов, как отображают хеши обозреватели блоков.
Как пользоваться Двойной SHA-256 (SHA-256d)
- Введите данные в Текст для хеширования; для структур Bitcoin выберите Байты в hex как кодировку ввода и вставьте сериализованный заголовок или транзакцию.
- Оставьте кодировку Текст (UTF-8), чтобы хешировать обычную строку.
- Включите Обратный порядок байтов, чтобы получить значение в том виде, как его показывают обозреватели блоков и Bitcoin Core (txid / хеш блока).
- Выберите Формат вывода и нажмите Копировать.
Пример
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.