La peor noche de soporte de mis años de WP Adminify comenzó con una pantalla blanca. Nosotros ' puse la versión 3.1.2 en el servidor de actualizaciones alrededor de las 11 p. m., y a las 2:40 a. m. tenía 14 tickets que decían lo mismo: actualización instalada, sitio muerto. Retrocedí y volví a probar la cremallera de mi máquina; funcionó perfectamente. Misma versión. Mismo archivo. Supuestamente.
Me tomó muchísimo tiempo hacer lo obvio: hash de ambos archivos. El SHA-256 La cremallera de mi computadora portátil y el SHA-256 de la cremallera que se encuentra en el servidor de actualización no coincidieron 't. Ni siquiera cerca, resúmenes completamente diferentes. La carga se truncó en algún lugar a mitad de la transferencia, el servidor sirvió felizmente un archivo roto y PHP se atragantó con los archivos incompletos que había dentro. Una comparación de suma de verificación lo habría detectado antes de que se actualizara un solo usuario. Después de esa noche, cada versión de WP Adminify imprimió su SHA-256 en el registro de implementación y el script de carga se negó a publicarse a menos que el hash remoto coincidiera con el local. Cero lanzamientos corruptos desde entonces.
Eso's qué es el hash, en su forma más práctica: una huella digital para datos. Introduzca un archivo o una cadena y obtenga un resumen corto de longitud fija. Si incluso un byte cambia (un bit invertido, una descarga truncada, una edición furtiva), el resumen cambia por completo. Ahora busco un generador de hash en línea varias veces por semana: verificar descargas, depurar firmas de webhook, comparar archivos de configuración entre entornos, verificar la cordura de dos archivos "idéntico" Los archivos en realidad lo son.
Por eso construí uno en Toolz.dev. Quería una herramienta hash que calculara todo en el navegador, me mostrara MD5, SHA-1, SHA-256 y SHA-512 uno al lado del otro y nunca subiera un byte de mi entrada a ninguna parte. Esta guía cubre cómo usarlo, qué ' en realidad está sucediendo debajo del capó y el único error con el hash que cometí desde el principio, y que todavía veo en las bases de código hoy.
TL;Dr: Usa el Generador de hash de Toolz.dev para calcular digestiones MD5, SHA-1, SHA-256 y SHA-512 a partir de texto o archivos, instantánea y completamente en su navegador a través de la API Web Crypto. De forma predeterminada en SHA-256 para cualquier cosa que importe; trate MD5 y SHA-1 únicamente como sumas de verificación heredadas. Y nunca, nunca, utilice ninguno de estos para contraseñas. Eso's bcrypt o territorio Argon2.
Características clave
Múltiples algoritmos a la vez
Pegue su entrada una vez y calcule MD5, SHA-1, SHA-256 y SHA-512 simultáneamente. Esto suena como una pequeña conveniencia hasta que usted ' estamos depurando a otra persona ' sistema y usted no ' no sé qué algoritmo utilizaron. Yo ' He perdido tiempo real con esto: una pasarela de pago ' los documentos dijeron "SHA hash" sin ningún número adjunto, y me senté allí generando digestiones un algoritmo a la vez en una terminal hasta que coincidiera. Con los cuatro resúmenes en pantalla a la vez, simplemente observa cuál se alinea con el valor que usted ' estoy tratando de igualar. También hace que las diferencias sean viscerales: puedes ver el MD5 de 32 caracteres junto al SHA-512 de 128 caracteres y comprender inmediatamente qué significa "digest size" significa en la práctica.
Hash de texto y archivos
Escriba o pegue una cadena o introduzca un archivo; la herramienta maneja ambos. El hash de texto cubre los casos cotidianos: depuración de firmas API, claves de caché, comparaciones rápidas. El hash de archivos es donde ocurre el verdadero trabajo de verificación. Verificar un instalador descargado con una suma de verificación publicada, confirmar que un zip del complemento sobrevivió al viaje a su servidor de actualización, verificar un volcado de base de datos copiado intacto entre máquinas. El archivo nunca se carga en ninguna parte; it's leído localmente por su navegador y hash en su lugar. I' He hash volcados SQL de varios cientos de megabytes de esta manera. It' es más rápido de lo que esperabas ' Es de esperar, porque el trabajo pesado ocurre en el código nativo del navegador, no en los bucles de JavaScript.
Cálculo instantáneo del lado del cliente a través de la criptografía web
Los resúmenes de la familia SHA se calculan con el navegador 's API criptográfica web incorporada - crypto.subtle.digest- que ejecuta código criptográfico nativo y optimizado enviado con su navegador. Sin servidor ida y vuelta, sin cola, sin spinner. Obtienes resultados tan rápido como tu máquina puede leer la entrada. Esto importa por dos razones. Primero, velocidad: el hash ocurre en milisegundos, incluso para entradas grandes. Segundo, confianza: debido a que el cálculo es local, la herramienta funciona igual ya sea que usted & # 39; esté en línea en una cafetería o tenga una configuración confidencial en una red bloqueada. La página se carga una vez; después de eso, la red es irrelevante.
Salida en mayúsculas y minúscula
Característica trivial que ahorra verdaderos dolores de cabeza. Los resúmenes hexadecimales no distinguen entre mayúsculas y minúsculas en el significado - 2CF24DBA y 2cf24dba Codifique bytes idénticos, pero las comparaciones de cadenas no lo saben. Muchos sistemas almacenan o publican resúmenes en mayúsculas (algunas herramientas de Windows, ciertas páginas de suma de verificación de proveedores), mientras que la mayoría de las herramientas Unix emiten minúsculas. Si usted ' está pegando un resumen en un script de comparación o en un archivo de configuración que hace una coincidencia exacta de cadenas, el caso de repente importa mucho. El interruptor significa que copia el formato que necesita en lugar de ejecutar la salida a través de un conversor de casos o, peor aún, "fixing" a mano y digiriendo un carácter.
Modo de comparación y verificación
Hashing es sólo la mitad del trabajo, normalmente usted & #39; estás comparando un resumen con un valor esperado. Pegue la suma de verificación publicada junto a la calculada y la herramienta le indicará instantáneamente si coinciden, sin necesidad de entrecerrar los ojos ante 64 caracteres hexadecimales. Solía verificar las sumas de verificación comparando visualmente el primer y el último carácter. Eso' es exactamente como se pierde una falta de coincidencia en el medio. Los ojos humanos son terribles a la hora de comparar cadenas largas y aleatorias; eso' es un trabajo para una verificación de igualdad. El modo de verificación también normaliza el caso y recorta los espacios en blanco antes de comparar, lo que mata la falsa alarma más común: un espacio perdido de una copia y pegado descuidado.
100% privado: nada sale de su navegador
Esta es la característica que me niego a comprometer en todo Toolz.dev. Su entrada, texto o archivo, se procesa localmente y nunca se transmite. Allí ' No hay procesamiento del lado del servidor, ni registro, ni " anonimizamos sus datos" letra pequeña, porque allí ' no hay datos para registrar. Esto importa más para el hash de lo que la gente cree: las cosas que los desarrolladores hash suelen ser exactamente las que deberían ' no pegar en un sitio web aleatorio: secretos de API mientras depuran firmas HMAC, claves de licencia, volcados con correos electrónicos de clientes. Con una herramienta del lado del cliente, ese riesgo se evapora. Abra su navegador & #39; s pestaña de red mientras hace hash si desea pruebas. Escribí más sobre por qué esta arquitectura es importante en mi Privacidad de datos y herramientas en línea puesto
Cómo usar el generador de hash
Paso 1: Abra la herramienta y elija su entrada
dirígete a la generador de hachas. Usted & # 39; Veré un área de entrada que acepta texto escrito/pegado o un archivo. Para texto, simplemente comience a escribir: el hash ocurre sobre la marcha. Para archivos, arrastre uno a la zona de entrega o use el selector de archivos. Nada se carga; el archivo lo lee localmente su navegador. Allí ' no hay un límite de tamaño más allá de lo que su máquina 's la memoria es cómoda.
Paso 2: Lea los Digests
Todos los algoritmos se calculan a la vez: MD5, SHA-1, SHA-256, SHA-512. Cada resumen aparece en su propia fila etiquetada, en hexadecimal. Tenga en cuenta las longitudes: 32 caracteres para MD5, 40 para SHA-1, 64 para SHA-256, 128 para SHA-512. Si usted ' coincide con una suma de verificación conocida y usted ' No estoy seguro de qué algoritmo lo produjo, la longitud por sí sola generalmente le indica antes de comparar un solo carácter.
Paso 3: Cambia el caso si es necesario
Si el sistema que está comparando usa hexadecimal mayúscula, cambie el interruptor de mayúsculas y minúsculas. Los bytes de resumen son idénticos en cualquier sentido; se trata únicamente de formatear cadenas. Copie el resumen con el botón de copia en lugar de seleccionarlo a mano; un resumen SHA-512 de 128 caracteres es muy fácil de seleccionar parcialmente y un resumen truncado fallará silenciosamente en cada comparación que haga con él.
Paso 4: Verificar contra un hash esperado
Obtuve una suma de verificación publicada de un proveedor & #39; ¿página de descarga o un colega & # 39; ¿Implementar registro? Péguelo en el campo de comparación. La herramienta lo compara con su resumen calculado y le brinda una coincidencia clara o una discrepancia. Coincidencia significa que los datos son byte por byte idénticos a los que produjeron el hash original. Desajuste significa algo cambiado: transferencia corrupta, versión de archivo incorrecta o manipulación. Don't racionalizar una discrepancia. Vuelva a descargar y verifique nuevamente.
MD5 vs SHA-256: lo que realmente está sucediendo bajo el capó
Una función hash criptográfica toma entrada de cualquier longitud y produce una salida de longitud fija llamada resumen. Cuatro propiedades lo hacen útil. determinista- la misma entrada siempre produce el mismo resumen. Exhibe el Efecto avalancha- cambie un bit de entrada y aproximadamente la mitad de los bits de salida se invierten. It's en sentido único- allí 's no hay una ruta factible desde el resumen hasta la entrada. Y eso 's Resistente a la colisión- encontrar dos entradas diferentes que produzcan el mismo resumen debería ser computacionalmente inviable.
Vale la pena ver el efecto de avalancha con valores reales. El MD5 de hello es 5d41402abc4b2a76b9719d911017c592. Împărtășește o letră - Hello- y obtienes 8b1a9953c4611296a827abf8c47804d7. No se cambió un personaje; un resumen completamente no relacionado. La misma historia con SHA-256: hello hashes para 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824, mientras Hello Produce un resumen que no comparte nada esencialmente con él. Ese es el punto. Un resumen te dice si Los datos cambiaron, nunca cuanto.
Ahora, los algoritmos. MD5 Se definió en RFC 1321 en 1992 y produce un resumen de 128 bits. It's rápido, it's en todas partes - y it's criptográficamente roto. Los ataques de colisión prácticos existen desde 2004; Los investigadores pueden fabricar dos entradas diferentes con el mismo resumen MD5 en hardware básico. Eso lo mata por cualquier cosa adversa: firmas, certificados, comprobaciones de integridad donde un atacante podría sustituir contenido. Sigue estando bien para sumas de verificación no adversas: detectar corrupción accidental en una transferencia de archivos, deduplicar sus propios datos, porque la corrupción aleatoria no lo hace ' No puedo elegir sus bytes. sha-1 (160 bits) duró más, pero el ataque destrozado demostró una colisión práctica en 2017, con dos PDF diferentes compartiendo un SHA-1 Digest. Git todavía usa SHA-1 internamente por razones históricas, pero ningún sistema nuevo debería hacerlo.
los Familia Sha-2- SHA-256 y SHA-512, entre ellos, se especifica en FIPS 180-4 y permanece intacto. SHA-256 le ofrece un resumen de 256 bits y es el valor predeterminado para casi todo. SHA-512 ofrece un resumen más grande y suele serlo más rápido en CPU de 64 bits, ya que funciona en palabras de 64 bits.
Tres distinciones que la gente se desdibuja constantemente. hachís es unidireccional, sin llave, sin vuelta atrás. cifrado es bidireccional: cualquiera que tenga la clave puede descifrarla. codificación, al igual que Base64, es una protección de vía cero: es solo un cambio de representación que cualquiera puede revertir, no se necesita clave. Si usted ' Alguna vez ha visto Base64 tratado como " cifrado, " mi Convertidor Base64 demostraré alegremente por qué ese es un problema, y mi Guía de codificación Base64 cubre la distinción en profundidad.
Cuando necesita demostrar que un mensaje proviene de alguien que posee un secreto compartido (firmas de webhook, firma de solicitudes API), un hash simple es ' basta, porque cualquiera puede hash. Eso 's HMAC, definido en RFC 2104: Una construcción con llave que envuelve una función hash para que solo los titulares de claves puedan producir resumenes válidos. HMAC-SHA256 es el caballo de batalla detrás de la mayoría de los esquemas de firmas de webhook que jamás depurarás.
Y el grande: Nunca hash contraseñas con hashes rápidos. Rápido es el enemigo aquí: un atacante con una base de datos filtrada puede probar miles de millones de conjeturas MD5 o SHA-256 por segundo en GPU. Las contraseñas necesitan algoritmos salados deliberadamente lentos: bcrypt o Argon2. Laravel & #39;s Hash::make() usa bcrypt de forma predeterminada exactamente por esta razón, y WordPress pasó años en el esquema de hash portátil phpass antes de modernizarse, imperfecto, pero el instinto (ralentizarlo, eliminarlo) era correcto. Aprendí esto de la manera más difícil: uno de mis primeros proyectos independientes, años antes de WP Adminify, almacenaba contraseñas como sin formato md5($password). Movimiento clásico de novato. Nadie fue violado, pero sigo encogiéndome.
Esto es lo que hace la herramienta Toolz.dev bajo el capó y lo que usted mismo escribe:
const data = new TextEncoder().encode('hello');
const buf = await crypto.subtle.digest('SHA-256', data);
const hex = [...new Uint8Array(buf)]
.map(b => b.toString(16).padStart(2, '0'))
.join('');
// "2cf24dba5fb0a30e26e83b2ac5b9e29e..."
O en PHP, una línea: hash('sha256', 'hello'). La misma entrada, mismo resumen, cualquier idioma, cualquier máquina. Ese determinismo es todo el fundamento.
Casos de uso comunes
Verificación de descargas de archivos y liberación de artefactos
El caso de uso que me quemó en la introducción. Los proveedores publican sumas de verificación junto a las descargas por una razón: las transferencias están corruptas, los espejos se vuelven obsoletos y, de vez en cuando, alguien cambia maliciosamente un archivo. Descargue el archivo, hachítalo con el generador de hachas, compárelo con el valor publicado. Coincidencia: el archivo es idéntico en bytes a lo que el editor hash. Desajuste: detenga y vuelva a descargar. Para mis propios lanzamientos, la regla desde ese incidente de las 2:40 am es mecánica: el script de implementación calcula SHA-256 localmente, carga, recupera el archivo remoto y #39;s hash, y se niega a voltear el "versión actual" puntero a menos que ' sean iguales. It's tal vez ocho líneas de bash. Desde entonces ha captado dos cargas truncadas, las cuales habrían sido inundaciones de boletos. Seguro más barato en todo mi proceso.
Caché de rotura y eTags
Los navegadores almacenan en caché de manera agresiva y "Por favor, la actualización dura" no es una estrategia de implementación. La solución robusta es nombres de archivos con hacha de contenido: hash el contenido del archivo e incruste una parte del resumen en el nombre, por lo que app.css se convierte en app.2cf24dba.css. Cambio de contenido, cambios de hash, cambios en el nombre de archivo, errores de caché, los usuarios obtienen el nuevo archivo. Contenido idéntico, nombre de archivo idéntico, hit de caché. Laravel Mix y Vite lo hacen automáticamente; en WP Adminify hice una versión local, hashing de contenidos de activos para construir el ver la cadena de consulta WordPress se agrega a scripts en cola, después de demasiados " el panel de configuración parece roto" tickets que eran realmente CSS obsoletos. El mismo principio impulsa los ETags: el servidor procesa la respuesta, el navegador devuelve el hash y una coincidencia significa un pequeño 304 en lugar de una carga útil completa.
Contenido deduplicado
¿quiere saber si dos archivos son idénticos sin compararlos byte por byte, o cuando viven en máquinas diferentes? ¿Tiene ambos hash. Los digestos iguales significan contenido igual (con SHA-256, las probabilidades de colisión son tan absurdamente pequeñas que ' no vale la pena pensarlo). Esto escala maravillosamente: hash mil cargas, ordenar los resúmenes y duplicados se agrupan instantáneamente. I' He usado esto para deduplicar una biblioteca multimedia de WordPress que había acumulado años de logo.png, logo-1.pngy logo-final-2.png- el hash reveló cuáles eran en realidad la misma imagen con nombres diferentes. It's también cómo las herramientas de copia de seguridad deciden qué omitir y cómo los almacenes de objetos detectan que un "upload" es contenido que ya tienen.
Direccionamiento de contenido de estilo Git
Git no 't almacena archivos por nombre - los almacena por hash. Cada blob, árbol y confirmación se aborda mediante el resumen de su contenido (SHA-1 históricamente, con una transición SHA-256 en progreso). Eso & #39; es por qué los ID de confirmación parecen hashes: ellos son Hashes, y cubren la instantánea, los padres, el autor, la marca de tiempo. Cambie cualquier cosa en cualquier lugar de la historia y cada hash descendente cambia, que es lo que hace posible la manipulación de Git en lugar de ser muy evidente en lugar de hacerlo. Entendiendo esto, transformé cómo depurar los problemas de git. Cuando dos máquinas no están de acuerdo con una confirmación, la comparación de hashes le indica al instante si está mirando el mismo objeto o historial divergente. El direccionamiento de contenido es una de esas ideas que suenan académicas hasta que guarda su repositorio.
Comparando configuraciones sin exponer secretos
obras de puesta en escena, la producción no, y sospechas que .env los archivos difieren, pero no quieres que los secretos de producción se peguen en un hilo Slack o en una pantalla compartida. Haga hash de cada archivo en su propia máquina y compare resúmenes. Diferentes hashes confirman que los archivos difieren sin revelar un solo valor. Puedes ser más fino: hash de líneas individuales o claves específicas para identificar a la entrada diverge. I' He resuelto desacuerdos con el soporte de hosting de esta manera - " su copia de la configuración no coincide con la mía, aquí ' es mi SHA-256, verifique el suyo " finaliza el debate en un solo mensaje. El resumen demuestra diferencia o igualdad mientras los secretos permanecen exactamente donde pertenecen.
Depuración de firmas de webhook
Stripe, GitHub, Paddle: todos firman cargas útiles de webhook, generalmente con HMAC-SHA256, por lo que puede verificar que la solicitud realmente proviene de ellos. Y cuando su verificación falla, la depuración es miserable, porque el fallo es silencioso: las firmas simplemente no coinciden y el middleware dice que no. Nueve de cada diez veces el culpable es la carga útil: su marco volvió a serializar el JSON, cambiando los espacios en blanco o el orden de las claves, por lo que usted & #39; tiene bytes diferentes a los firmados. Hashing el tosco El cuerpo de la solicitud en varios puntos de su canalización le muestra exactamente dónde mutan los bytes. Si el resumen cambia entre su controlador de ruta y su función de verificación, ha encontrado la capa que está tocando el cuerpo. Mientras estás en ese barrio, mi Decodificador JWT Es útil para el trabajo adyacente de inspeccionar tokens firmados.
MD5 vs SHA-1 vs SHA-256 vs SHA-512: ¿Cuál debería usar?
| algoritmo | Tamaño de la digestión | velocidad relativa | Estado de seguridad | Usos apropiados |
|---|---|---|---|---|
| MD5 | 128 bits (32 caracteres hexagonales) | el más rápido | Roto: colisiones prácticas desde 2004 | Sumas de comprobación no adversarias, compatibilidad de sistema heredado, claves de caché |
| sha-1 | 160 bits (40 caracteres hexagonales) | firme | Roto - Choque SHAttered, 2017 | Internos de Git heredados, interoperando con sistemas antiguos; nada nuevo |
| SHA-256 | 256 bits (64 caracteres hexagonales) | firme | cerradura | Predeterminado para verificaciones de integridad, firmas, direccionamiento de contenido, HMAC |
| SHA-512 | 512 bits (128 caracteres hexagonales) | Rápido (a menudo más rápido en CPU de 64 bits) | cerradura | Igual que SHA-256; cuando desea un margen adicional o un rendimiento de 64 bits |
Mi postura, y seré directo al respecto: predeterminado a SHA-256 y deje de pensar en ello. It' es seguro, universalmente compatible, lo suficientemente rápido como para que nunca notes el costo, y it' es lo que ya dicen tus herramientas: certificados TLS, resúmenes de imágenes de Docker, archivos de bloqueo de paquetes, firmas de webhook. La energía mental gastada en elegir un algoritmo casi siempre se gasta mejor en otra parte.
El matiz que vale la pena mantener: MD5 no es radiactivo, es destinaado. ¿Detectar corrupción accidental en sus propios archivos? Bien. ¿Algo en lo que un adversario humano podría beneficiarse al forjar una colisión? Absolutamente no. SHA-1 se encuentra en el mismo cubo con menos excusas; la única buena razón para tocarlo es la compatibilidad con un sistema que no utiliza 't control. SHA-512 es una buena opción y ocasionalmente más rápido en hardware moderno de 64 bits, pero los resúmenes de 128 caracteres son difíciles de manejar en registros y URL, y el margen de seguridad de SHA-256 ya está más allá de cualquier ataque realista. Y ninguno de los cuatro (repetir, ninguno) pertenece a ningún campo de contraseña.
Preguntas frecuentes
¿MD5 sigue siendo seguro de usar?
Por seguridad, no. Los ataques de colisión prácticos existen desde 2004, lo que significa que los atacantes pueden crear dos archivos diferentes con el mismo resumen MD5. Nunca lo use para firmas, certificados, almacenamiento de contraseñas o cualquier verificación de integridad cuando la manipulación sea una preocupación. Sigue siendo aceptable para trabajos no conflictivos (detectar corrupción accidental, deduplicar sus propios archivos, generar claves de caché) donde nadie intenta engañarlo. En caso de duda, utilice SHA-256; no te cuesta nada.
¿Puedes revertir un hash para obtener los datos originales?
No. Las funciones hash son unidireccionales por diseño: el resumen contiene mucha menos información que la mayoría de las entradas, por lo que la inversión es matemáticamente imposible en general. Lo que realmente hacen los atacantes es adivinar: hash miles de millones de entradas candidatas y comparar resúmenes, utilizando tablas arcoíris o fuerza bruta de GPU. Eso funciona terriblemente bien contra entradas cortas y comunes, como contraseñas hash con algoritmos rápidos, razón por la cual las contraseñas necesitan un hash lento y salado en lugar de MD5 o SHA-256 simples.
¿Cuál es la diferencia entre hash y cifrado?
El cifrado es bidireccional: los datos se codifican con una clave y cualquiera que tenga la clave correcta puede descifrarlos al original. El hashing es unidireccional: puede calcular un resumen a partir de datos, pero no puede recuperar los datos del resumen; no hay clave ni descifrado. Utilice el cifrado cuando necesite recuperar los datos, el hash cuando solo necesite verificarlos o compararlos. Base64, para el registro, no es ninguna de las dos cosas: la codificación es reversible para cualquiera.
¿Qué hash debo usar para las contraseñas?
Ninguno de los de esta herramienta. MD5, SHA-1, SHA-256 y SHA-512 son todos rápidos, y lo rápido es fatal para las contraseñas: las GPU pueden probar miles de millones de conjeturas por segundo en una base de datos filtrada. Utilice un algoritmo salado deliberadamente lento: bcrypt o Argon2. Hash de Laravel & #39;s::make() usa bcrypt de forma predeterminada, y la mayoría de los marcos modernos proporcionan un equivalente. Si está escribiendo llamadas hash sin formato para almacenar contraseñas, deténgase y busque su API de hash de contraseñas de framework & #39;s en su lugar.
¿Es seguro hachizar datos sensibles en una herramienta en línea?
Sólo si la herramienta es genuinamente del lado del cliente. El generador de hash Toolz.dev calcula cada resumen en su navegador utilizando la API Web Crypto; su entrada nunca se transmite, registra ni almacena en ningún servidor. Puede confirmarlo usted mismo mirando la pestaña de red mientras tiene hash. Con las herramientas del lado del servidor, confía en un operador desconocido lo que pegue, lo cual es un mal intercambio de secretos, claves o datos de clientes de API. En caso de duda, verifique antes de pegar.
¿Por qué "hola" y "hola" producen hashes completamente diferentes?
Ese es el efecto de avalancha y es deliberado. Una buena función hash voltea aproximadamente la mitad de sus bits de salida cuando incluso un bit de entrada cambia, por lo que entradas similares producen resúmenes tremendamente diferentes. Capitalizar una letra cambia un solo byte, pero el resumen se vuelve irreconocible. Esta es una característica: significa que los resúmenes no revelan nada sobre cuán similares son dos entradas, y hace que cualquier cambio, por pequeño que sea, sea imposible de pasar por alto cuando comparas hashes.
¿Cuál es la diferencia entre SHA-256 y SHA-512?
Ambos pertenecen a la familia SHA-2 especificada en FIPS 180-4, y ambos se consideran seguros. SHA-256 produce un resumen de 256 bits mediante operaciones de 32 bits; SHA-512 produce un resumen de 512 bits mediante operaciones de 64 bits, lo que a menudo lo hace más rápido en los procesadores modernos de 64 bits. En la práctica, SHA-256 es el ecosistema predeterminado y sus resumenes tienen la mitad de la longitud, lo que mantiene los registros y las URL manejables. Elija SHA-512 para un margen de seguridad adicional o un rendimiento de 64 bits; de lo contrario, SHA-256 es suficiente.
¿Cuándo necesito HMAC en lugar de un hash simple?
Utilice HMAC siempre que necesite demostrar quién produjo el hash, no solo qué se utilizó. Cualquiera puede calcular un resumen simple, por lo que verifica la integridad pero no el origen. HMAC, definido en RFC 2104, mezcla una clave secreta en el proceso de hash: solo las partes que poseen la clave pueden producir o verificar firmas válidas. Este es el mecanismo detrás de las firmas de webhook de Stripe, GitHub y servicios similares, casi siempre como HMAC-SHA256 sobre el cuerpo de solicitud sin procesar.
Enviar con huellas dactilares, no fe
Hashing es la rara herramienta que ' es tanto informática profunda como práctica diaria muy simple. No lo haces ' No es necesario comprender las construcciones de Merkle-Damgård para beneficiarse de él; necesitas el hábito. Tira tus artefactos de lanzamiento. Verifica tus descargas. Compare resúmenes en lugar de archivos llamativos. Cada uno de esos hábitos son treinta segundos de trabajo y, en algún momento, cada uno me ha ahorrado una noche que de otro modo habría pasado disculpándome en una cola de soporte.
los Generador de hash de Toolz.dev Está diseñado para hacer que ese hábito no tenga fricción: cuatro algoritmos a la vez, texto y archivos, modo de verificación, todos calculados en su navegador sin nada cargado. Si estás trabajando a través de los conceptos vecinos, el Convertidor Base64 Cubre la codificación (y por qué no es seguridad), el generador de contraseñas maneja los secretos que nunca debes estar hash con SHA-256, y el Decodificador JWT Completa el lado de la historia con fichas firmadas.
Para el panorama general, mi Guía de herramientas de codificación recorre el resto de la caja de herramientas del desarrollador y Privacidad de datos en herramientas en línea Explica por qué el procesamiento del lado del cliente es la colina que he elegido para morir. Hash primero, despliegue segundo. Su yo de las 2:40 a. m. se lo agradecerá.



