FmtDev
Idioma
Back to blog
March 10, 2026

Diseño de Sistemas 101: Por qué los Acortadores de URL usan MD5 y Base64

Un desglose perfecto para principiantes sobre preguntas clásicas de Diseño de Sistemas. Aprenda formalmente la diferencia entre hashing y codificación.

Si usted se encuentra preparándose arduamente para afrontar entrevistas técnicas de ingeniería de software estructuradas, será casi una certeza absoluta que los entrevistadores le pidan repentinamente diseñar un sistema completo de nivel empresarial para acortar enlaces dinámicos o URL Shortener:

El núcleo de este particular problema de System Design se fundamenta en comprender perfectamente dos grandes conceptos clave: Hashing y Encoding.

Explicaremos el por qué simplemente auto-generar una cadena completamente aleatoria no es en lo absoluto suficiente, y por qué la mayoría de los ingenieros profesionales combinan MD5 y Base64.

Paso 1: El Hash (Unicidad)

Si usted ingresa una URL sustancialmente larga en nuestra plataforma de acortamiento, el sistema fundamentalmente requiere una forma concreta de asegurar que esa misma URL siempre nos de exactamente el mismo ID abreviado resultante. Para lograr algo de esta naturaleza criptográfica usamos técnicas como MD5.

En la práctica el método de cifrado MD5 toma virtualmente cualquier conjunto de texto y lo vuelve rígidamente en un hash de datos binarios fijos (casi siempre graficados como valores alfanuméricos en formato de 32 hexadecimales). Ejemplo: https://fmtdev.dev inevitablemente se convierte en el vector a5b...

👉 Intente probar un Generador MD5 de forma local justo aquí

Paso 2: La Codificación (Compresión)

Basta afirmar con gran simpleza que un hash MD5 conteniendo unos grandiosos 32 bloques estructurales es exagerado como para denominarse una URL corta ('Tiny' URL). Nosotros forzosamente necesitamos proceder a comprimirlo adecuadamente y velozmente.

Es precisamente justo en esta intersección técnica donde entra fuertemente en escena Base64 Encoding. Técnicamente Base64 manipula íntegramente la forma cruda binaria tomada desde dicho hash y la expresa matemáticamente al utilizar exhaustivamente 64 caracteres lógicos disponibles (A-Z, a-z, 0-9, +, /). En vista de que fundamentalmente estamos utilizando una base alfanumérica de 64 en el lugar geométrico equivalente a tan sólo 16 (hexadecimal originario), por deducción ganamos la mágica y única habilidad de transcodificar la información bajo una string compacta y de apariencia mucho más concisa y diminuta. La convención establece habitualmente agarrar selectivamente solo los primordiales 7 caracteres del string en formato Base64 para que constituyan matemáticamente nuestro Short URL terminal y unívoco.

👉 Intente hacer Encoding con otra cadena de caracteres usando Base64 aquí mismamente

La Regla de Oro para Entrevistas Técnicas

Nunca llegue a ofuscar operativamente Hashing frente al acto clásico de realizar un Encoding!

  • Hashing (MD5/SHA-256): Es Unidireccional. Simplemente no puede revertir un cifrado de hash algorítmico y regresarlo libremente otra vez a la URL de procedencia inmaculada.
  • Encoding (Base64): Es Bidireccional. Prácticamente cualquier humano o máquina informática con herramientas básicas de conversión puede sin duda ejecutar un proceso para decodificar dicha cadena Base64 hasta llevarla íntegramente de retorno a su pureza y su naturaleza original predecible.

Ponga en un fuerte hábito operativo pasar diferentes tipos de texto crudo individualmente por ambas valiosas metodologías de compresión de utilidades analíticas para consolidar una maestría sobresaliente para brillar categóricamente justo previo a que decida encarar con valentía inmensurable su próxima y más retadora junta presencial de desarrollo con una pizarra inteligente!

Related Formatting Tool

Need to format your code right now? Use our secure tools.

Open JSON Formatter