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
- Cifrar archivos de Excel usando Java
- Descifrar archivos de Excel usando Java
- Verificar la contraseña del archivo de Excel cifrado
- Obtenga una licencia de API gratuita
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.
- XOR
- COMPATIBLE (Office 97/2000 compatible)
- PROVEEDOR CRIPTOGRAFICO MEJORADO V1
- PROVEEDOR CRIPTOGRAFICO FUERTE
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.
- Cargue el archivo de Excel usando la clase Workbook.
- Establezca la contraseña usando el método Workbook.getSettings().setPassword(string).
- Cifre el archivo de Excel con el método Workbook.setEncryptionOptions(EncryptionType, int).
- Guarde el Workbook encriptado usando el método Workbook.save(string).
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.
- Cree una instancia de la clase LoadOptions.
- Especifique la contraseña utilizando el método LoadOptions.setPassword(string).
- Cree una instancia de la clase Workbook y pase la ruta del archivo y el objeto LoadOptions a su constructor.
- Establezca la contraseña en nulo usando el método Workbook.getSettings().setPassword(string).
- Una vez hecho esto, guarde el Workbook descifrado usando el método Workbook.save(string).
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.
- Cargue el archivo de Excel encriptado usando la clase FileInputStream.
- Use el método FileFormatUtil.verifyPassword(FileInputStream, string) para verificar la contraseña.
- Como resultado, si el valor devuelto es verdadero, la contraseña es válida, de lo contrario, no es válida.
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.