Quita la contraseña de un archivo Office
¿Tienes un .docx, .xlsx o .pptx que pide una contraseña para abrirse (y tú la sabes), o que está bloqueado en solo lectura? Aquí la contraseña se quita y el archivo se descarga libre. El archivo y la contraseña no salen de tu navegador.
Dos «contraseñas» diferentes, y las quita las dos
En un archivo Office la palabra «contraseña» significa dos cosas diferentes. Una es la contraseña para ABRIR: el archivo está cifrado, sin la contraseña no lo abre nadie. La otra es la protección de edición: el archivo se abre y se lee perfectamente, pero no se puede cambiar (solo lectura). Esta página reconoce por sí sola cuál de las dos hay y la quita: para la primera hace falta la contraseña (sin ella, el documento es de verdad ilegible); para la segunda NO, porque el contenido no está cifrado y el bloqueo es solo una etiqueta.
La contraseña para abrir: se descifra aquí, con tu contraseña
Un archivo protegido al abrir ya no es un ZIP: es un archivo con el documento cifrado dentro. Office 2013 y posteriores usan el cifrado «ágil» (AES de 256 bits): de tu contraseña, con 100.000 vueltas de cálculo, se obtiene la clave que abre el paquete. Todo ocurre en tu navegador: la contraseña no se envía nunca a ningún sitio. Hace falta la contraseña de verdad: aquí no se adivina ni se prueba en masa (las 100.000 vueltas están hechas a propósito para volver lentísimo a quien lo intenta). El cifrado antiguo de Office 2007-2010 no se admite, y lo decimos en vez de dar un archivo roto.
La solo lectura: se quita sin contraseña
La protección de edición (en Word «Restringir edición», en Excel «Proteger hoja») NO cifra nada: solo pone dentro del archivo una etiqueta con un hash. Por eso se puede quitar sin saber la contraseña — es una debilidad conocida de Office, no un truco nuestro. Aquí se reescribe solo la parte que contiene la etiqueta y se copia todo lo demás byte por byte, así el contenido del documento no puede cambiar.
Cómo se comprueba que es correcto
El archivo descifrado se compara byte por byte con el que produce msoffcrypto-tool (un programa de otros que hace el mismo trabajo): deben ser idénticos. Además python-docx y openpyxl releen el texto (debe ser el de antes) y el estado de la protección (debe estar apagado), y unzip -t comprueba que el archivo producido sea válido. Un archivo que se descarga pero no se abre es el peor fallo, y esta prueba lo coge.
Lo que no hace
Si no sabes la contraseña de un archivo cifrado, aquí NO se adivina: sin la contraseña el documento no se puede descifrar, y ningún sitio serio dice lo contrario. Quitar la protección de un archivo no es saltarse los derechos de quien lo escribió: hazlo solo en documentos tuyos o que tengas derecho a cambiar. Para reducir un archivo pesado está Comprime un archivo Office, y para quitar los datos ocultos (autor, revisiones) está Limpia un archivo Office.