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.
La decision en una tabla
| Caso de uso | Elige | Por que | No elijas MD5 porque |
|---|---|---|---|
| Almacenar contrasenas de usuario (web, movil, API) | Argon2id (preferido), bcrypt (alternativa) | Memoria-duro + costo ajustable; resiste fuerza bruta de GPU | MD5 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 login | Envuelve MD5(contrasena) dentro de Argon2id durante el reset progresivo | Los hashes MD5 puros se filtran rapido; asume compromiso al divulgar |
| Integridad de archivo contra entrada adversaria | SHA-256 | Ataques de colision practicos contra MD5 desde 2004; SHA-256 sigue siendo seguro | Un atacante puede crear dos archivos diferentes que comparten un MD5 |
| Integridad de archivo solo contra corrupcion accidental | MD5 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-256 | HMAC anade una clave al hash; HMAC-MD5 esta roto en la practica | HMAC-MD5 esta deprecado por NIST y la IETF |
| Derivacion de clave a partir de una contrasena | Argon2id (preferido), PBKDF2 (FIPS) | Disenado para derivacion contrasena-a-clave con factor de costo | MD5 no tiene factor de costo; produce el mismo digest en nanosegundos |
| Claves de cache, ETags, claves de dedup | MD5 (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 atacante | SHA-256 | Los ataques de colision permitirian que un atacante sustituya contenido con la misma direccion | MD5 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
ETagpara 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
- 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. - 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.
- 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.
- 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.
- Integridad no adversaria, cache, ETag, dedup - dejalo en paz. No agites codigo que funciona por razones teoricas. MD5 esta bien aqui.
Relacionado
- MD5 converter - la herramienta en si, para los casos de uso donde MD5 sigue estando bien.
- Why MD5 cannot be decrypted - la respuesta a la confusion mas comun detras de las consultas de alternativas a MD5.
- MD5 vs SHA-256 - Cuando Usar Cada Uno - la comparacion estrecha si SHA-256 es tu unico candidato.
- SHA-256 converter - la primitiva de integridad contra adversario.
- Developer tools hub - el conjunto completo de herramientas de desarrollador.
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.