Initializing, please wait a moment

Alternativas a MD5: bcrypt vs Argon2id vs SHA-256 - Cuando Cada Uno Encaja

Ultima revision 2026-05-02. Si llegaste aqui intentando recuperar una contrasena en texto plano desde un hash MD5, lee Why MD5 Cannot Be Decrypted primero - la respuesta corta es que no existe clave, y las busquedas en tablas rainbow solo funcionan para entradas muy comunes. Esta pagina cubre que usar en su lugar, por caso de uso.

Respuesta en 30 segundos. La alternativa correcta a MD5 depende del trabajo. Almacenar contrasenas? Usa Argon2id (recomendacion actual de OWASP) o bcrypt (amplio soporte de bibliotecas). Proteger integridad contra un adversario? Usa SHA-256 con HMAC. Derivar una clave a partir de una contrasena? Usa PBKDF2 (entornos que requieren FIPS) o Argon2id en otros lugares. Claves de cache, ETags, deduplicacion en datos no adversarios? MD5 sigue estando bien - pasalo por el conversor MD5.

La decision en una tabla

Caso de usoEligePor queNo elijas MD5 porque
Almacenar contrasenas de usuario (web, movil, API)Argon2id (preferido), bcrypt (alternativa)Memoria-duro + costo ajustable; resiste fuerza bruta de GPUMD5 es demasiado rapido - las GPUs hashean miles de millones/seg, las contrasenas comunes caen en milisegundos
BD de contrasenas MD5 existente (legado)Migra a Argon2id en el proximo loginEnvuelve MD5(contrasena) dentro de Argon2id durante el reset progresivoLos hashes MD5 puros se filtran rapido; asume compromiso al divulgar
Integridad de archivo contra entrada adversariaSHA-256Ataques de colision practicos contra MD5 desde 2004; SHA-256 sigue siendo seguroUn atacante puede crear dos archivos diferentes que comparten un MD5
Integridad de archivo solo contra corrupcion accidentalMD5 o SHA-256 (cualquiera vale)Los datos naturales no colisionan con MD5 en la practica(MD5 es aceptable aqui; elige por conveniencia de la herramienta)
Autenticacion de mensaje (HMAC)HMAC-SHA-256HMAC anade una clave al hash; HMAC-MD5 esta roto en la practicaHMAC-MD5 esta deprecado por NIST y la IETF
Derivacion de clave a partir de una contrasenaArgon2id (preferido), PBKDF2 (FIPS)Disenado para derivacion contrasena-a-clave con factor de costoMD5 no tiene factor de costo; produce el mismo digest en nanosegundos
Claves de cache, ETags, claves de dedupMD5 (bien)Huella digital de longitud fija de entrada arbitraria; las colisiones no importan para datos no adversarios(este es donde MD5 aun se gana su lugar)
Almacenamiento direccionable por contenido (CAS) bajo influencia de atacanteSHA-256Los ataques de colision permitirian que un atacante sustituya contenido con la misma direccionMD5 no puede garantizar unicidad contra entradas creadas

Argon2id vs bcrypt para contrasenas

Argon2id es el hash de contrasena recomendado por OWASP desde 2022. Es memoria-duro, lo que significa que un atacante con GPU tiene que asignar cientos de megabytes por intento paralelo. El punto de partida recomendado es Argon2id, m=64MB, t=3, p=4. El factor de costo escala con el hardware: reevalua cada dos anos y aumenta los parametros.

bcrypt es el subcampeon bien soportado. Es mas antiguo (1999), usa un factor de costo ajustable expresado como el log2 de iteraciones (costo 12 al momento de escribir). No es memoria-duro, lo cual es su principal debilidad vs Argon2id, pero su soporte de bibliotecas en cada framework web es mas amplio. Elige bcrypt solo si tu plataforma aun no tiene un binding Argon2id mantenido.

Cualquiera es correcto en 2026. No almacenes contrasenas como MD5 + salt - ese esquema cae a una sola GPU en dias incluso con un salt aleatorio largo, porque MD5 es el cuello de botella, no el salting.

SHA-256 vs MD5 para integridad

Si la entrada puede ser creada por un atacante, usa SHA-256. El ataque Wang de 2004 y la colision Stevens / Lenstra de 2008 contra un certificado X.509 mostraron que dos entradas diferentes pueden hacerse para compartir un solo MD5. Para una firma digital, firma de codigo, o cualquier cosa donde un atacante puede sustituir su contenido por el tuyo, MD5 esta roto; SHA-256 es la primitiva correcta.

Si la entrada es solo una descarga que controlas o un artefacto de build que produjiste, MD5 sigue estando bien para verificacion de integridad. Captura las inversiones aleatorias de bit que realmente ves en la practica (rayos cosmicos, cables malos, discos malos). El conjunto completo de trade-offs MD5 vs SHA-256 esta en MD5 vs SHA-256 - cuando hashear con cada uno.

PBKDF2 - el camino FIPS

PBKDF2 es la funcion de derivacion de clave basada en contrasena que NIST bendijo en 2000. Es basada en iteraciones: eliges un conteo, ejecutas un hash subyacente esa cantidad de veces, y el factor de trabajo sigue. No es memoria-duro, asi que es mas debil que Argon2id contra GPUs modernas, pero es la eleccion correcta cuando tu entorno requiere un algoritmo FIPS 140-2 / 140-3. La cantidad de iteraciones a usar en 2026 con HMAC-SHA-256 por debajo es 600.000 o mas por orientacion de OWASP; con HMAC-SHA-512 es 210.000 o mas. Numeros mas bajos siguen siendo comunes en codigo legado; suberlos en el proximo deploy.

"Donde MD5 sigue perteneciendo" - la lista de trabajo

  • Claves de cache. Hashea una URL larga o cadena de consulta en una clave de longitud fija para memcached, Redis, o un nombre de archivo. Las colisiones no importan; la velocidad si.
  • Huellas digitales de contenido tipo ETag. Emite MD5 de un cuerpo de respuesta como la cabecera ETag para que los clientes puedan revalidar sin volver a descargar.
  • Verificacion de integridad de archivo en una descarga que produjiste. Publica MD5 junto al archivo; los usuarios comparan localmente. Muchos espejos de Linux aun publican tanto MD5 como SHA-256 por compatibilidad.
  • Deduplicacion de subidas entrantes. Huella digital del flujo de bytes con MD5 para cortocircuitar el almacenamiento de un duplicado exacto antes de persistirlo.
  • Fixtures de prueba e IDs de snapshot. Hashea un blob JSON canonico para producir IDs deterministicos para fixtures de prueba unitaria.

Para todos esos, el conversor MD5 es la superficie correcta - pega texto, obten el hash, copia el resultado.

Lista de verificacion de migracion - mover una app existente fuera de MD5

  1. Audita donde se usa MD5. Grep la base de codigo por md5, MessageDigest.getInstance("MD5"), hashlib.md5, crypto.createHash('md5'). Etiqueta cada uso como uno de: contrasenas, MAC, integridad, cache.
  2. Contrasenas - migracion progresiva. Anade un verificador Argon2id junto al verificador MD5. En el proximo login exitoso, recomputa la contrasena bajo Argon2id, almacena el nuevo verificador, descarta la fila MD5. Rota cada cuenta dentro de 90 dias; force-reset lo que quede.
  3. MAC - reemplaza con HMAC-SHA-256. Despliegues HMAC-MD5 de la epoca de 2010 en APIs deben rotar claves y re-emitir clientes con HMAC-SHA-256.
  4. Integridad adversaria - reemplaza con SHA-256. Cualquier cosa firmando contenido subido por usuario, distribucion de paquetes, o codigo de terceros va a SHA-256 inmediatamente.
  5. Integridad no adversaria, cache, ETag, dedup - dejalo en paz. No agites codigo que funciona por razones teoricas. MD5 esta bien aqui.

Relacionado

Why trust these tools

  • Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
  • Truly in-browser - no upload. Every file-processing tool on this site runs in your browser through modern Web APIs (File, FileReader, Canvas, Web Audio, WebGL, Web Workers). Your photo, PDF, audio, or text never leaves your device.
  • No tracking during tool use. Analytics ends at the page view. The actual input you paste, drop, or capture is never sent to any server and never written to any log.
  • Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
  • Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.