Saltar al contenido
BCBinary Code Translator
Menú

Utilidad criptográfica

Generador SHA para texto y archivos

Calcula SHA-1, SHA-256, SHA-384 o SHA-512 con Web Crypto sobre texto UTF-8 o bytes de archivos locales y muestra Hex o Base64.

Texto y archivos permanecen locales. SHA-1 se ofrece solo por compatibilidad y no se recomienda para nueva resistencia a colisiones.

Cómo calcular un resumen SHA

Selecciona texto o archivo, algoritmo y codificación. El texto se convierte a UTF-8. En modo archivo se leen los bytes exactos y se pasan a SubtleCrypto.digest.

  1. Elige Texto o Archivo; un archivo no se decodifica como texto.
  2. Usa SHA-256 como opción moderna común o el algoritmo exacto exigido por el protocolo.
  3. Elige Hex para checksums habituales o Base64 si el sistema lo espera.
  4. Compara el resumen completo con una fuente fiable; una coincidencia no autentica por sí sola al publicador.

Ejemplos y comportamiento esperado

Entrada Salida Notas
abc con SHA-1 a9993e364706816aba3e25717850c26c9cd0d89d Vector conocido, solo para compatibilidad.
abc con SHA-256 ba7816bf8f01cfea414140de5dae2223… 256 bits equivalen a 64 caracteres hexadecimales.
abc con SHA-384 cb00753f45a35e8bb5a03d699ac6500… 384 bits equivalen a 96 caracteres hexadecimales.
abc con SHA-512 ddaf35a193617abacc417349ae204131… 512 bits equivalen a 128 caracteres hexadecimales.
Hola 👋 en UTF-8 Resumen determinista Se calcula el hash de bytes UTF-8, no de unidades UTF-16.
Archivo local Resumen de los bytes exactos Un byte o metadato interno diferente cambia el resultado.

Funciones hash y determinismo

Una función hash criptográfica convierte cualquier longitud en un resumen fijo. La misma secuencia de bytes da el mismo resultado y un cambio pequeño debería alterar ampliamente el resumen. No es una codificación reversible.

El determinismo sirve para integridad, contenido, caché y builds. También permite adivinar secretos de baja entropía comparando candidatos; las contraseñas requieren funciones lentas y con sal, no SHA general.

  • SHA-256 produce 32 bytes.
  • Hex usa dos caracteres por byte.
  • Base64 representa los mismos bytes de forma más compacta.

Elección de algoritmo y SHA-1

SHA-256, 384 y 512 pertenecen a SHA-2. Usa el algoritmo indicado por la fuente o el protocolo; no son intercambiables. Una salida más larga no corrige un protocolo mal diseñado.

SHA-1 permanece por sistemas antiguos. Las colisiones prácticas lo hacen inadecuado para nuevas firmas, certificados o distribución adversarial. Migra a SHA-256 o una construcción aprobada.

  • No uses SHA-1 contra atacantes capaces.
  • No adivines solo por longitud.
  • HMAC es una construcción distinta con clave.

Codificación de texto y bytes de archivo

TextEncoder usa UTF-8 sin normalizar. Unicode, caracteres invisibles, espacios finales y CRLF/LF pueden cambiar los bytes aunque el texto se vea igual. Otros sistemas con UTF-16 o páginas de códigos producirán otro resumen.

File.arrayBuffer entrega el contenido exacto. Nombre, MIME y fecha no se incluyen salvo que estén dentro del archivo. Guardar de nuevo una imagen o documento puede cambiar metadatos internos.

  • Conserva saltos finales.
  • Compara tamaño al diagnosticar.
  • Documenta codificación y normalización.

Integridad y confianza

Una coincidencia indica que los bytes probablemente son iguales, pero no quién los creó. Si un atacante reemplaza archivo y checksum, un hash plano no ofrece autenticidad.

Obtén el valor esperado mediante manifiestos firmados, metadatos fiables o un canal autenticado. Usa HMAC para secretos compartidos y firmas digitales para autenticidad pública.

  • Compara el resumen completo.
  • Usa una comparación en tiempo constante en código sensible.
  • Guarda algoritmo junto al valor.

Usos y diagnóstico

Sirve para descargas, comparar exportaciones, registrar artefactos, claves de caché y vectores. El modo local evita subir archivos y el texto ayuda con problemas de canonicalización.

Para reproducir, registra entrada, algoritmo, codificación y normalización. Ante una diferencia revisa longitud, saltos, Unicode, compresión y metadatos antes de culpar al algoritmo.

  • Verificar checksums fiables.
  • Comparar archivos locales.
  • Probar vectores conocidos.
  • Diagnosticar UTF-8 frente a otras codificaciones.

Límites y no objetivos

Se requiere Web Crypto; si falta, falla. El archivo se carga completo en memoria, por lo que archivos enormes necesitan herramientas nativas en streaming.

No descifra hashes, no cifra, no firma, no almacena contraseñas y no consulta reputación de malware. Produce únicamente el resumen seleccionado.

  • No se lee ningún archivo hasta seleccionarlo.
  • Limpiar no borra cachés del sistema.
  • Usa Argon2, scrypt o bcrypt para contraseñas.

Diferencias con HMAC y UUID

Un hash no tiene clave y cualquiera puede reproducirlo. HMAC añade un secreto para autenticidad. UUID v4 identifica aleatoriamente y no depende del contenido.

Usa hash para checksum, HMAC para autenticación compartida, firma para verificación pública y UUID para identificadores.

Preguntas frecuentes

¿Se suben los archivos?

No. Se leen en el navegador y se pasan a Web Crypto en la pestaña. No se envían intencionadamente.

¿Qué algoritmo elegir?

El exigido por el protocolo. SHA-256 es una opción moderna común. Evita SHA-1 para nuevas decisiones de seguridad contra colisiones.

¿Por qué el mismo texto visible da otro hash?

Pueden cambiar codificación, normalización, caracteres ocultos, espacios o finales de línea. Aquí se usa UTF-8 sin normalizar.

¿Se puede revertir un SHA?

No es reversible, pero entradas de baja entropía pueden adivinarse por comparación. Por eso no sirve solo para contraseñas.

¿Una coincidencia prueba autenticidad?

Solo integridad respecto al valor esperado. Si ese valor no es fiable, pueden sustituirse ambos. Usa firmas o metadatos autenticados.

¿Por qué se incluye SHA-1?

Por compatibilidad con sistemas antiguos. La interfaz advierte que las colisiones prácticas lo hacen inadecuado para nuevos usos resistentes.

Herramientas relacionadas

Preferencias de cookies

Gestiona tus preferencias de cookies. Las cookies necesarias no se pueden desactivar.

Necesarias

Necesarias

Necesarias para la selección de idioma, las preferencias de privacidad y las funciones básicas del sitio.

Cookies: NEXT_LOCALE

Analíticas

Cookies analíticas opcionales que nos ayudan a entender el tráfico y mejorar el sitio.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidad

Cookies publicitarias opcionales que pueden usarse para mostrar anuncios relevantes y medir su rendimiento.

Cookies: __gads, _gcl_au, IDE