¿Qué es SHA-256?
SHA-256 forma parte de la familia SHA-2 de funciones hash criptográficas, estandarizada por el NIST (el instituto de normalización de Estados Unidos). Recibe un mensaje de cualquier longitud y genera un digest fijo de 256 bits (32 bytes), que aquí se muestra como 64 caracteres hexadecimales. La misma entrada produce siempre el mismo digest, mientras que cambiar un solo carácter genera un resultado completamente distinto: es lo que se conoce como efecto avalancha. SHA-256 se utiliza de forma generalizada en certificados TLS, firmas digitales, cadenas de bloques (Bitcoin) y comprobaciones de integridad de archivos.
Cómo usar esta calculadora
Escribe o pega cualquier texto en el cuadro de entrada y pulsa enviar. La calculadora codifica tu texto en UTF-8, ejecuta el algoritmo SHA-256 y devuelve el digest en hexadecimal junto con la longitud en bytes de la entrada. Dejar el campo vacío también es válido: en ese caso obtendrás el conocido digest de la cadena vacía.
La fórmula al detalle
$$\text{Hash} = \operatorname{SHA\text{-}256}\!\left(\text{Input Text}\right)$$
SHA-256 rellena el mensaje (padding) hasta que su longitud sea múltiplo de 512 bits, lo divide en bloques de 512 bits y procesa cada bloque a través de 64 rondas de operaciones a nivel de bits (rotaciones, desplazamientos, AND/XOR y suma modular) que mezclan ocho variables de trabajo de 32 bits, inicializadas a partir de las partes fraccionarias de las raíces cuadradas de números primos. Tras cada bloque, los ocho registros se suman de nuevo al estado acumulado del hash; al concatenarlos se obtiene el digest final de 256 bits.
Ejemplo práctico
La entrada abc (3 bytes) produce el digest ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. La cadena vacía produce e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, un vector de prueba estándar.
Preguntas frecuentes
¿Se puede revertir SHA-256? No. Es una función unidireccional: no es posible recuperar la entrada a partir del digest.
¿Por qué mi recuento de bytes es mayor que el de caracteres? Los caracteres que no son ASCII (acentos, emojis, caracteres CJK) ocupan varios bytes en UTF-8, así que la longitud en bytes puede superar el número de caracteres.
¿Sigue siendo seguro SHA-256? Sí. A día de hoy no existen ataques prácticos de colisión ni de preimagen contra SHA-256, por lo que sigue siendo una función hash recomendada para uso general.