Cifrar y descifrar Ansible Vault
CifradoTodo se ejecuta en tu navegador: no se sube nada
Compatible byte a byte con `ansible-vault`: las claves salen de PBKDF2-HMAC-SHA256(frase de contraseña, salt, 10000 rondas, 80 bytes) — los primeros 32 bytes son la clave de AES-256-CTR, los siguientes 32 la del HMAC y los últimos 16 el IV; el cuerpo es doble hexadecimal y lleva el salt y el HMAC. El descifrado verifica el HMAC antes de descifrar, así que una frase de contraseña incorrecta da un error claro en lugar de basura. Se admiten las cabeceras `1.1` y `1.2` (etiqueta `vault-id`). Todo se ejecuta en local; ni la frase de contraseña ni el texto plano se suben.
Funciones
- La misma derivación de clave que ansible-vault: PBKDF2-HMAC-SHA256, 10000 rondas
- AES-256-CTR (contador de bloque completo) con relleno PKCS#7
- Envoltorio de doble hexadecimal cortado a 80 caracteres por línea
- Las cabeceras 1.1 y 1.2 (etiqueta vault-id)
- Verifica el HMAC antes de descifrar, así que una frase incorrecta es un error claro
- El salt del cifrado viene de crypto.getRandomValues
- Un AES en JS puro que no depende de Web Crypto (solo https)
- Copia una fila suelta o todas
Cómo se usa
- Elige Cifrar o Descifrar y escribe la frase de contraseña
- Cifrar: pega el texto plano (y, si quieres, una etiqueta vault-id)
- Descifrar: pega el texto `$ANSIBLE_VAULT` entero
- Los resultados y el desglose (salt, HMAC, cabecera) salen enseguida
Preguntas frecuentes
- ¿Qué pasa con la frase de contraseña equivocada?
- Obtienes un claro «la verificación del HMAC ha fallado». Esto difiere de muchas herramientas simétricas, donde una clave equivocada «funciona» en silencio y devuelve bytes aleatorios. Ansible verifica el HMAC antes de descifrar, y esta herramienta también: un error claro es mejor que una pantalla de basura sobre la que hay que conjeturar.
- ¿Por qué el archivo va en doble hexadecimal?
- El cuerpo es primero el texto ASCII `hex(salt) \n hex(hmac) \n hex(cifrado)` y todo eso se codifica otra vez en hexadecimal, y luego se corta a 80 columnas. Decodificar solo una vez da algo que parece texto pero es hexadecimal: ese es el formato de Ansible, no un fallo de aquí.
- ¿Es fuerte la protección con frase de contraseña?
- Vault usa 10000 rondas de PBKDF2, pocas para los estándares actuales; lo que aguanta es la fuerza de la propia frase de contraseña. Cambiar el número rompería la compatibilidad, así que no esperes que se vuelva más fuerte: usa una frase de contraseña de Vault larga y aleatoria, no una palabra de diccionario.
- ¿Puede con contenido binario?
- No. Esta herramienta trata la carga como texto UTF-8 y lo dice claramente cuando los bytes descifrados no son texto válido (un almacén de claves cifrado, por ejemplo). Para binario, usa el comando `ansible-vault`.
Herramientas relacionadas
AES / DES
CifradoCifra y descifra texto con AES, DES o 3DES en los modos CBC, GCM, CTR y ECB, con claves en texto, hex o Base64. Se ejecuta en tu navegador.
HMAC
CifradoFirma un mensaje con una clave secreta mediante HMAC y obtén un resultado que coincide con Node, Java y Python. La clave no sale de tu navegador.
Hash
CifradoCalcula resúmenes MD5, SHA-1, SHA-256, SHA-512 o MD4 de cualquier texto, en bytes UTF-8 para que coincidan con openssl. En tu navegador.
Base64
CifradoConvierte texto a Base64 y al revés, con UTF-8 correcto para acentos, chino y emoji. Todo se ejecuta en tu navegador: no se sube nada.
Codificar URL
CifradoEscapa texto a la forma %XX y lo devuelve, tratando una URL completa y un valor de parámetro como trabajos distintos. Todo en tu navegador.
Entidades HTML
CifradoConvierte < > & y las comillas en entidades HTML y las devuelve en una sola pasada, así que &lt; da <, no un ángulo. En tu navegador.