Cifrar / descifrar texto
Cifra o descifra texto con AES-256-GCM directamente en tu navegador. Ningún dato sale de tu dispositivo.
Cifrar / descifrar texto
Introduce tu texto y tu contraseña, y luego pulsa Cifrar o Descifrar.
Referencia de comandos OpenSSL (AES-256-CBC)
También puedes cifrar y descifrar texto desde la línea de comandos con OpenSSL. Los comandos siguientes usan AES-256-CBC con derivación de clave PBKDF2 (100.000 iteraciones, SHA-256).
Sustituye TU_TEXTO por el texto que quieras cifrar y TU_CONTRASENA por la contraseña que elijas. Para descifrar, sustituye BASE64_CIFRADO por la salida Base64 del comando de cifrado.
Cifrar
printf '%s' 'TU_TEXTO' | openssl enc -aes-256-cbc -pbkdf2 -iter 100000 -pass pass:'TU_CONTRASENA' -a
Descifrar
echo 'BASE64_CIFRADO' | openssl enc -d -aes-256-cbc -pbkdf2 -iter 100000 -pass pass:'TU_CONTRASENA' -a
¿Por qué los resultados son diferentes?
La herramienta web de arriba usa AES-256-GCM (cifrado autenticado), mientras que los comandos OpenSSL usan AES-256-CBC, porque openssl enc no admite el modo GCM. Estos dos algoritmos generan formatos de salida completamente distintos, por lo que no puedes descifrar la salida de OpenSSL con esta herramienta web, ni al revés. Sin embargo, ambos enfoques derivan la clave de cifrado con PBKDF2 usando los mismos parámetros (SHA-256, 100.000 iteraciones).
Cómo usar esta herramienta
Escribe o pega el texto que quieres proteger en el campo Texto plano, elige una contraseña segura y pulsa Cifrar. La herramienta devuelve una cadena codificada en Base64 que contiene todo lo necesario para descifrar: sal, IV, etiqueta de autenticación y texto cifrado, todo empaquetado en un solo bloque.
Para invertir el proceso, cambia al modo Descifrar, pega la cadena Base64, introduce la misma contraseña y pulsa Descifrar. Si la contraseña es correcta y los datos no han sido alterados, el texto plano original aparecerá al instante.
¿Qué tan fuerte es AES-256-GCM?
Mientras no pierdas la contraseña, recuperar el texto plano sin ella es extraordinariamente difícil, incluso con ordenadores muy potentes. AES-256 tiene un espacio de claves de , lo que significa que una búsqueda por fuerza bruta está muy por encima de la capacidad de la tecnología actual y previsible. Si además se combina con el estiramiento de clave PBKDF2 (100 000 iteraciones), incluso adivinar contraseñas de forma casual deja de ser práctico.
Dicho esto, una contraseña débil o reutilizada reduce mucho esa ventaja. Elige siempre una frase de contraseña fuerte y única.
¿Qué es el cifrado simétrico?
El cifrado simétrico usa la misma clave (derivada de tu contraseña) tanto para cifrar como para descifrar. A diferencia del cifrado asimétrico, que utiliza una pareja de clave pública y privada, los esquemas simétricos son simples y rápidos, por lo que resultan ideales para proteger datos en reposo o en tránsito cuando ambas partes comparten un secreto.
¿Por qué AES-256-GCM?
- Cifrado autenticado: GCM (Galois/Counter Mode) proporciona confidencialidad e integridad en una sola operación. Si se altera aunque sea un bit del texto cifrado, el descifrado falla con un error de autenticación en lugar de producir una salida corrupta.
- Ampliamente confiable: AES-256 es el estándar de cifrado utilizado por gobiernos, entidades financieras y software de seguridad crítica en todo el mundo.
- Estándar de la industria: forma parte de los cifrados predeterminados de TLS 1.3, está recomendado por NIST y cuenta con soporte nativo en las principales plataformas a través de la API Web Crypto.
Como esta herramienta usa un único algoritmo fijo, no tienes que preocuparte por incompatibilidades entre el algoritmo de cifrado y el de descifrado.
Cómo funciona el proceso de cifrado / descifrado
- Derivación de clave (PBKDF2) — Tu contraseña no se usa directamente como clave de cifrado. En su lugar, se introduce en PBKDF2 junto con una sal aleatoria de 16 bytes y se procesa mediante 100 000 iteraciones de SHA-256. El resultado es una clave de 256 bits que es muy costosa de reconstruir a partir de la contraseña por sí sola.
- Cifrado — Se genera un IV (vector de inicialización) aleatorio de 12 bytes. Después, AES-256-GCM cifra el texto plano usando la clave derivada y el IV, y produce el texto cifrado junto con una etiqueta de autenticación de 16 bytes que se verificará durante el descifrado.
- Empaquetado — La sal, el IV, la etiqueta de autenticación y el texto cifrado se concatenan en ese orden y se codifican como una sola cadena Base64. Esto significa que la persona receptora solo necesita la contraseña; todo lo demás ya va integrado en la salida.
- Descifrado — La cadena Base64 se decodifica y vuelve a dividirse en sal, IV, etiqueta y texto cifrado. PBKDF2 vuelve a derivar la misma clave a partir de la contraseña y la sal, y AES-256-GCM descifra los datos. Si la verificación de la etiqueta falla, la operación se detiene de inmediato, lo que protege tanto frente a contraseñas incorrectas como frente a textos cifrados manipulados.
Nota de privacidad
Todo el procesamiento se realiza por completo en tu navegador. Ni el texto plano, ni la contraseña ni el texto cifrado se envían a un servidor. Puedes comprobarlo abriendo el inspector de red de tu navegador: durante el cifrado o el descifrado no se produce ninguna solicitud saliente.
Como referencia, el área de resultados también muestra comandos OpenSSL que realizan cifrado AES-256-CBC con la misma contraseña y el mismo número de iteraciones. Estos comandos se ofrecen para que puedas explorar el cifrado local en línea de comandos, pero su salida no puede descifrarse con esta herramienta, ni al revés. Hay dos motivos por los que los formatos no son compatibles:
- Modo de cifrado distinto — Esta herramienta usa AES-256-GCM (cifrado autenticado). La utilidad
openssl encno admite el modo GCM, por lo que los comandos recurren a AES-256-CBC, que no incluye etiqueta de autenticación integrada.
- Formato binario distinto — Esta herramienta empaqueta la salida como
salt (16 bytes) + IV (12 bytes) + auth tag (16 bytes) + ciphertext, todo codificado en Base64. OpenSSL utiliza su propio formato de cabeceraSalted__, con una sal de 8 bytes y sin etiqueta de autenticación.
Debido a estas diferencias, cualquier texto cifrado generado aquí solo puede descifrarse aquí, y cualquier texto cifrado generado por esos comandos OpenSSL solo puede descifrarse con la llamada correspondiente a openssl enc -d.