Generador de hash doble SHA-256 (SHA-256d)
Calcula el doble SHA-256 (SHA-256d), el hash de Bitcoin: el SHA-256 del digest SHA-256 binario. Entrada hex y opción de invertir el orden de bytes, en tu navegador.
Se ejecuta completamente en tu navegador. Tus datos nunca se suben.
¿Qué es Doble SHA-256 (SHA-256d)?
El doble SHA-256, también escrito SHA-256d, hashea la entrada con SHA-256 y luego vuelve a hashear con SHA-256 el digest binario de 32 bytes resultante. Es el hash que usa Bitcoin para las cabeceras de bloque, los ID de transacción, los árboles de Merkle y los checksums Base58Check. Esta herramienta también puede mostrar el resultado con el orden de bytes invertido, como lo muestran los exploradores de bloques.
Cómo usar Doble SHA-256 (SHA-256d)
- Introduce los datos en Texto para calcular el hash; para estructuras de Bitcoin elige Bytes en hexadecimal como codificación de entrada y pega la cabecera o la transacción serializada.
- Deja la codificación en Texto (UTF-8) para hashear una cadena normal.
- Marca Invertir el orden de bytes para obtener el valor tal como lo muestran los exploradores de bloques y Bitcoin Core (txid / hash de bloque).
- Elige el Formato de salida y haz clic en Copiar.
Ejemplo
Bitcoin genesis block header (Hex bytes): 0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c, Reverse byte order on
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Es el conocido hash del bloque génesis. Sin invertir los bytes, la salida es 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000.
Cuándo usar Doble SHA-256 (SHA-256d)
Úsalo para comprobar a mano una cabecera de bloque o un ID de transacción de Bitcoin, calcular checksums Base58Check (los primeros 4 bytes del SHA-256d) o reproducir valores SHA-256d de otros protocolos. No lo uses para contraseñas, ni si una especificación pide SHA-256 simple: los resultados son distintos. Hashear por segunda vez el texto hex de un digest tampoco es SHA-256d.
Cómo funciona Doble SHA-256 (SHA-256d)
La herramienta calcula SHA-256(SHA-256(datos)). El detalle importante es que el segundo SHA-256 se aplica a los 32 bytes sin procesar del primer digest, no a su cadena hex de 64 caracteres; muchas herramientas online lo hacen mal. Bitcoin trata el resultado de 32 bytes como un número little-endian, así que el conocido hash de bloque con ceros iniciales es el digest con sus bytes invertidos; la opción Invertir el orden de bytes hace exactamente eso.
Casos de Uso Comunes
- Verificar el hash de un bloque de Bitcoin a partir de su cabecera de 80 bytes
- Calcular un ID de transacción (txid) a partir de una transacción serializada en bruto
- Calcular el checksum de 4 bytes de una dirección Base58Check o una clave WIF
- Contrastar una implementación de minería o de monedero durante el desarrollo
Nota de Seguridad
SHA-256d es tan resistente a colisiones como SHA-256. No es un hash de contraseñas: usa Argon2, scrypt o bcrypt para las contraseñas. Todo el hashing se hace en local en tu navegador.
Preguntas Frecuentes
¿Por qué Bitcoin hashea dos veces?
Satoshi usó SHA-256d, probablemente como defensa frente a los ataques de extensión de longitud de un hash Merkle–Damgård simple. No hace más difícil encontrar colisiones que el propio SHA-256, pero ahora está fijado en el protocolo.
¿Por qué mi resultado no coincide con el explorador de bloques?
Hay tres causas comunes: la cabecera se introdujo como texto en lugar de Bytes en hexadecimal, el segundo hash se calculó sobre la cadena hex en lugar del digest en bruto, o no se invirtió el orden de bytes. Marca Invertir el orden de bytes para obtener hashes como los de los exploradores.
¿Cuál es el doble SHA-256 de "abc"?
Con entrada UTF-8 y orden de bytes normal es 4f8b42c22dd3729b519ba6f68d2da7cc5b2d606d05daed5ad5128cc03e6c6358.