Por Qué el Base64 Estándar se Rompe en URLs
El Base64 estándar (RFC 4648 §4) utiliza el alfabeto de 64 caracteres A-Z, a-z, 0-9, +, /, con = utilizado como relleno de bytes final.
Sin embargo, cuando se pasan cadenas Base64 estándar en parámetros de consulta HTTP, segmentos de ruta URI o cookies web:
- El signo más + es interpretado automáticamente por los servidores web como un espacio (%20), corrompiendo la carga útil.
- La barra diagonal / es interpretada por los enrutadores web como un delimitador de ruta, alterando la lógica de enrutamiento.
- El signo igual = se utiliza como separador de parámetros clave-valor en cadenas de consulta.
Sustituciones de Caracteres del Alfabeto (RFC 4648 §5)
| Característica | Base64 Estándar | Base64URL (Seguro para URL) |
|---|---|---|
| Índice 62 | + (más) | - (guión) |
| Índice 63 | / (barra) | _ (guión bajo) |
| Carácter de Relleno (=) | Obligatorio (Longitud % 4 == 0) | Omitido o Sin Relleno |
Probar Herramientas en Línea
¿Necesita convertir entre formatos Base64? Use nuestra suite de herramientas 100% en el cliente:
