Estándar Web y Especificación RFC

Base64 vs Base64URL — Diferencias Clave Explicadas

Base64 vs Base64URL explicado. Caracteres que difieren, padding, cuándo usar cada uno (JWT, OAuth, URLs). RFC 4648 §4 vs §5.

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ísticaBase64 EstándarBase64URL (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: