Estoy escribiendo un programa Python para descifrar un documento cifrado de MS Office. Haciendo referencia a Este repositorio de GitHub como referencia.
Ahora lo que quiero hacer es probar un montón de contraseñas de uso común contra el documento. Una especie de enfoque de fuerza bruta. Pero el problema es cuando introduzco la contraseña, no tengo forma de saber si el contenido descifrado es basura, lo que significa que la contraseña era incorrecta o si el contenido descifrado es el contenido original correcto, lo que significa que la contraseña era correcta.
Sé que dentro de la estructura del documento, esta información generalmente se incluye dentro de EncryptionInfo
. Pero no entiendo cómo verifico si la contraseña que estoy usando es correcta o el contenido que se está descifrando es correcto.
He intentado consultar muchas fuentes en línea y una que podría ayudar es Este video de YouTube y < a href="https://www.programcreek.com/java-api-examples/index.php?source_dir=POI-Android-master/ppt/poi/org/apache/poi/poifs/crypt/EncryptionVerifier.java" > Puede ser este código (aunque no lo creo) pero no puedo realizar todo esto en un código de Python porque no entiendo todas las operaciones sugeridas correctamente.