Cifrado de archivos de Excel
Microsoft Excel (97 - 365) te permite cifrar y proteger con contraseña tus hojas de cálculo. Utiliza algoritmos proporcionados por un proveedor de servicios criptográficos, o CSP, un conjunto de algoritmos criptográficos con diferentes propiedades. El CSP predeterminado es ‘Compatible con Office 97/2000’ o ‘Cifrado débil (XOR)’. Es importante elegir la longitud adecuada de la clave de cifrado. Algunos CSP no admiten más de 40 o 56 bits, considerándose un cifrado débil. Para un cifrado fuerte, se requiere una longitud mínima de clave de 128 bits. Microsoft Windows contiene CSP que ofrecen tipos de cifrado fuertes, como por ejemplo el ‘Proveedor Criptográfico Fuerte de Microsoft’. Para darte una idea, los bancos utilizan un cifrado de 128 bits para encriptar la conexión con sus sistemas de Banca por Internet.
Aspose.Cells te permite cifrar y proteger con contraseña archivos de Microsoft Excel con el tipo de cifrado que desees.
Usar Microsoft Excel
Para configurar los ajustes de cifrado de archivos en Microsoft Excel (aquí Microsoft Excel 2003):
- Desde el menú Herramientas, selecciona Opciones. Aparecerá un cuadro de diálogo.
- Selecciona la pestaña Seguridad.
- Ingresa una contraseña y haz clic en Avanzado.
- Elige el tipo de cifrado y confirma la contraseña.
Cifrado con Aspose.Cells
El siguiente ejemplo muestra cómo cifrar y proteger con contraseña un archivo de Excel utilizando la API de Aspose.Cells.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate a Workbook object. | |
// Open an excel file. | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Specify XOR encryption type. | |
workbook.SetEncryptionOptions(EncryptionType.XOR, 40); | |
// Specify Strong Encryption type (RC4,Microsoft Strong Cryptographic Provider). | |
workbook.SetEncryptionOptions(EncryptionType.StrongCryptographicProvider, 128); | |
// Password protect the file. | |
workbook.Settings.Password = "1234"; | |
// Save the excel file. | |
workbook.Save(dataDir + "encryptedBook1.out.xls"); |
Especificar la opción de Contraseña para modificar
El siguiente ejemplo muestra cómo establecer la opción de Contraseña para modificar en Microsoft Excel para un archivo existente utilizando la API de Aspose.Cells.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate a Workbook object. | |
// Open an excel file. | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Set the password for modification. | |
workbook.Settings.WriteProtection.Password = "1234"; | |
// Save the excel file. | |
workbook.Save(dataDir + "SpecifyPasswordToModifyOption.out.xls"); |
Verificar la contraseña del archivo cifrado
Para verificar la contraseña del archivo cifrado, Aspose.Cells for .NET proporciona el método VerifyPassword. Estos métodos aceptan dos parámetros, el flujo de archivo y la contraseña que se necesita verificar. El siguiente fragmento de código muestra el uso del método VerifyPassword para verificar si la contraseña proporcionada es válida o no.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create a Stream object | |
FileStream fstream = new FileStream(dataDir + "EncryptedBook1.xlsx", FileMode.Open); | |
bool isPasswordValid = FileFormatUtil.VerifyPassword(fstream, "1234"); | |
Console.WriteLine("Password is Valid: " + isPasswordValid); |
Cifrado/Descifrado de archivos ODS con Aspose.Cells
Aspose.Cells permite cifrar y descifrar archivos ODS. El archivo ODS descifrado se puede abrir tanto en Excel como en OpenOffice, sin embargo, el archivo ODS cifrado solo se puede abrir en OpenOffice después de proporcionar la contraseña. Excel no puede abrir el archivo ODS cifrado y puede mostrar un mensaje de advertencia. Las opciones de cifrado no son aplicables para archivos ODS como en otros tipos de archivos. Para cifrar un archivo ODS, carga el archivo y establece el valor de WorkbookSettings.Password como la contraseña real antes de guardarlo. El archivo ODS cifrado resultante se puede abrir solo en OpenOffice.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
//Output directory | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
// Open an ODS file | |
Workbook workbook = new Workbook(sourceDir + "sampleODSFile.ods"); | |
// Password protect the file | |
workbook.Settings.Password = "1234"; | |
// Save the ODS file | |
workbook.Save(outputDir + "outputEncryptedODSFile.ods"); |
Para descifrar un archivo ODS, carga el archivo proporcionando una contraseña en el LoadOptions.Password. Una vez que el archivo está cargado, establece el valor de la cadena WorkbookSettings.Password como nulo.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
//Output directory | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
// Open an encrypted ODS file | |
Aspose.Cells.LoadOptions loadOptions = new Aspose.Cells.LoadOptions(Aspose.Cells.LoadFormat.Ods); | |
// Set original password | |
loadOptions.Password = "1234"; | |
// Load the encrypted ODS file with the appropriate load options | |
Workbook workbook = new Workbook(sourceDir + "sampleEncryptedODSFile.ods", loadOptions); | |
// Set the password to null | |
workbook.Settings.Password = null; | |
// Save the decrypted ODS file | |
workbook.Save(outputDir + "outputDecryptedODSFile.ods"); |