Generador y decodificador de cabecera Basic Auth
Escribe un usuario y una contraseña para obtener la cabecera Authorization: Basic de la autenticación HTTP Basic, el token Base64 suelto y un comando curl. Pega una cabecera que hayas encontrado en un log o una configuración para decodificarla en usuario y contraseña. Todo se queda en tu navegador.
Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.
Cómo se usa
- En Crear una cabecera, escribe el usuario y la contraseña. Al momento aparecen la cabecera completa, su valor, el token Base64 solo y un comando curl.
- Copia la línea que necesites en tu cliente HTTP, un archivo de configuración o una prueba.
- En Decodificar una cabecera, pega la línea Authorization completa, Basic con el token o solo el token para leer usuario y contraseña.
Cómo funciona
La autenticación HTTP Basic (RFC 7617) envía las credenciales en una cabecera de la petición:
- Unir:
usuario:contraseña.
- Codificar el texto en bytes UTF-8.
- Codificar los bytes en Base64.
- Enviar
Authorization: Basic <Base64>.
Decodificar repite los pasos al revés y corta el texto en sus primeros dos puntos.
Ejemplo
El ejemplo de RFC 7617: usuario Aladdin, contraseña open sesame.
- Unidos:
Aladdin:open sesame (19 caracteres, 19 bytes).
- Base64:
QWxhZGRpbjpvcGVuIHNlc2FtZQ== (19 bytes necesitan 7 grupos de 4 caracteres, el último completado con ==).
- Cabecera:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==.
Consejos
- curl puede montar la cabecera por sí mismo:
curl -u 'Aladdin:open sesame' https://example.com/ envía la misma línea.
- Un servidor que responde 401 con
WWW-Authenticate: Basic está pidiendo esta cabecera.
- Si encuentras una cabecera Basic en un log o un repositorio, da la contraseña por filtrada y cámbiala.
Preguntas frecuentes
¿Cómo se construye la cabecera Basic Auth?
Se unen usuario y contraseña con dos puntos, usuario:contraseña, el texto se codifica en bytes UTF-8 y luego en Base64, y el resultado se pone tras la palabra Basic: Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==.
¿Es segura la autenticación Basic?
Base64 es una codificación, no un cifrado: cualquiera que vea la cabecera puede decodificarla, como muestra esta página. Envía Basic Auth solo por HTTPS y, para accesos duraderos, prefiere tokens que se puedan revocar.
¿La contraseña puede tener dos puntos?
Sí. Solo el usuario no puede, porque el servidor separa ambos en los primeros dos puntos. El decodificador también corta en los primeros, así que una contraseña como pa:ss vuelve completa.
¿Y si hay eñes o tildes?
Se codifican en UTF-8, la codificación que RFC 7617 permite pedir al servidor con charset="UTF-8" y que usan hoy la mayoría de clientes. Un servidor muy antiguo que espere otra codificación podría no aceptar esa contraseña.
¿Se envía mi contraseña a algún sitio?
No. La cabecera se crea y se decodifica con JavaScript en esta página; nada sale de tu dispositivo.