El relleno depende del modo
AES tiene bloques de 16 bytes. CBC necesita bloques completos y aquí usa PKCS7; GCM y CTR procesan bloques finales parciales sin ese relleno. El perfil con contraseña fija GCM. Otros sistemas con ceros o sin relleno no son automáticamente compatibles con CBC PKCS7.
Ejemplo byte a byte
Un mensaje de 13 bytes añade tres bytes 03. Uno de 16 bytes añade otro bloque completo de dieciséis bytes 10 en hexadecimal. Así puede retirarse el relleno sin ambigüedad. El texto abc tiene tres bytes UTF-8 y CBC añade trece bytes 0d automáticamente: no los escribas de nuevo en el editor.
Qué implica un fallo
Clave, IV, modo, cifrado o convención incorrectos pueden causar error, sin identificar una causa única. Bytes aleatorios pueden parecer relleno válido: retirarlo no autentica. GCM rechaza un tag incorrecto sin revelar texto; no cambies a CBC para evitarlo. CTR no tiene comprobación de relleno.
Depura sin borrar texto
Verifica decodificación, IV de 16 bytes y tamaño de clave. Conserva los saltos finales necesarios del mensaje. Si el otro sistema usa otro relleno, sigue su implementación; no elimines ceros ni adivines cuántos bytes descartar.
Herramientas y lecturas relacionadas
- Cifrar texto
- Descifrar texto
- Cifrar un archivo
- Generar una clave
- Qué es AES: claves, bloques y recuperación
- AES-GCM frente a CBC y CTR
- AES-128, AES-192 y AES-256: claves y codificaciones
Referencias técnicas
Actualizado el 16 de octubre de 2026