cifrar descifrar archivos de Excel en Java

MS Excel le proporciona una amplia gama de funciones para mantener y analizar los datos sin problemas. Puede realizar cálculos, generar gráficos y definir su lógica personalizada utilizando módulos VBA. Conociendo la importancia de los datos en las hojas de cálculo, MS Excel le permite proteger los libros de trabajo mediante el cifrado. Además, puede proteger con contraseña los archivos de Excel para evitar el acceso no autorizado. De acuerdo con eso, este artículo cubre cómo cifrar/descifrar y proteger con contraseña los archivos de Excel usando Java.

API de Java para cifrar y descifrar archivos de Excel

Aspose.Cells for Java es una potente API de manipulación de hojas de cálculo que le permite crear y manipular archivos de Excel sin problemas. Además, le permite cifrar y descifrar los libros de trabajo con unas pocas líneas de código. Además, puede proteger un archivo de Excel con una contraseña. Aspose.Cells for Java puede descargarse como JAR o instalarse con las siguientes configuraciones de Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>20.12</version>
</dependency>

Cifrar archivos de Excel usando Java

Aspose.Cells for Java proporciona los siguientes tipos de cifrado para archivos de Excel 2003.

Sin embargo, los libros de trabajo de 2007/2010 se cifran mediante técnicas de cifrado SHA y AES de la misma manera que lo hace MS Excel. Los siguientes son los pasos para cifrar un archivo de Excel utilizando Aspose.Cells for Java.

A modo de demostración, el siguiente ejemplo de código muestra cómo cifrar un archivo de Excel mediante Java.

// Crear una instancia de un objeto de Workbook por ruta de archivo de Excel
Workbook workbook = new Workbook("workbook.xlsx");

// Proteger con contraseña el archivo
workbook.getSettings().setPassword("1234");

// Cifrar especificando el tipo de cifrado
workbook.setEncryptionOptions(EncryptionType.XOR, 40);

// Especifique el tipo de cifrado fuerte (RC4, Microsoft Strong Cryptographic Provider)
workbook.setEncryptionOptions(EncryptionType.STRONG_CRYPTOGRAPHIC_PROVIDER, 128);

// Guarde el archivo de Excel encriptado
workbook.save("encrypted-workbook.xlsx");

Descifrar archivos de Excel usando Java

Para descifrar un archivo de Excel encriptado, solo necesita proporcionar su contraseña y Aspose.Cells for Java se encargará del resto. Los siguientes son los pasos para descifrar un archivo de Excel usando Java.

El siguiente ejemplo de código muestra cómo descifrar un archivo de Excel protegido con contraseña usando Java.

// Inicializar opciones de carga
LoadOptions loadOptions = new LoadOptions(LoadFormat.XLSX);

// Establecer contraseña original
loadOptions.setPassword("1234");

// Crear una instancia de un objeto de Workbook con la ruta del archivo de Excel
Workbook workbook = new Workbook("encrypted-workbook.xlsx", loadOptions);

// Establecer contraseña en nulo
workbook.getSettings().setPassword(null);

// Guarde el archivo de Excel descifrado
workbook.save("decrypted-workbook.xlsx");

Verificar la contraseña de un archivo de Excel cifrado

Además del cifrado/descifrado, Aspose.Cells for Java también le permite verificar la contraseña de un archivo de Excel protegido. Los siguientes son los pasos para realizar la verificación de contraseña.

El siguiente ejemplo de código muestra cómo verificar la contraseña de un archivo de Excel cifrado mediante Java.

// Crear un objeto Stream
FileInputStream fstream = new FileInputStream("encrypted-workbook.xlsx");

// Verificar contraseña
boolean isPasswordValid = FileFormatUtil.verifyPassword(fstream, "1234");

// Imprimir resultados
System.out.println("Password is Valid: " + isPasswordValid);

Obtenga una licencia de API gratuita

En caso de que quiera probar la API sin limitaciones de evaluación, puede obtener una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a cifrar o descifrar archivos de Excel utilizando Java. Además, ha visto cómo verificar la contraseña de un archivo de Excel encriptado. En caso de que desee explorar más sobre la API de manipulación de hojas de cálculo de Java, visite la documentación.

Ver también