Шифрование файлов Excel
Microsoft Excel (с 97 по 365) позволяет шифровать и защищать паролем ваши электронные таблицы. Для этого используются алгоритмы, предоставляемые поставщиком криптографических услуг, или CSP - набор криптографических алгоритмов с различными свойствами. CSP по умолчанию - ‘Office 97/2000 Compatible’ или ‘Weak Encryption (XOR)’. Важно выбрать соответствующую длину ключа шифрования. Некоторые CSP не поддерживают более 40 или 56 бит. Это считается слабым шифрованием. Для сильного шифрования требуется минимальная длина ключа 128 бит. Microsoft Windows содержит CSP, которые также предлагают сильные типы шифрования, например, ‘Microsoft Strong Cryptographic Provider’. Для примера, 128-битное шифрование используется банками для шифрования соединения с их системами Интернет-банкинга.
Aspose.Cells for Python via .NET позволяет шифровать и защищать паролем файлы Microsoft Excel с выбранным вами типом шифрования.
Использование Microsoft Excel
Для установки параметров шифрования файла в Microsoft Excel (например, Microsoft Excel 2003):
- Из меню Инструменты выберите Параметры. Появится диалоговое окно.
- Выберите вкладку Безопасность.
- Введите пароль и нажмите Дополнительно.
- Выберите тип шифрования и подтвердите пароль.
Шифрование с помощью Aspose.Cells
Следующий пример показывает, как зашифровать и защитить паролем файл Excel с помощью API Aspose.Cells for Python via .NET.
from aspose.cells import EncryptionType, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiate a Workbook object. | |
# Open an excel file. | |
workbook = Workbook(dataDir + "Book1.xls") | |
# Specify XOR encryption type. | |
workbook.set_encryption_options(EncryptionType.XOR, 40) | |
# Specify Strong Encryption type (RC4,Microsoft Strong Cryptographic Provider). | |
workbook.set_encryption_options(EncryptionType.STRONG_CRYPTOGRAPHIC_PROVIDER, 128) | |
# Password protect the file. | |
workbook.settings.password = "1234" | |
# Save the excel file. | |
workbook.save(dataDir + "encryptedBook1.out.xls") |
Указание опции ‘Пароль на изменение’
Следующий пример показывает, как установить опцию Пароль для изменения в Microsoft Excel для существующего файла с помощью API Aspose.Cells for Python via .NET.
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiate a Workbook object. | |
# Open an excel file. | |
workbook = Workbook(dataDir + "Book1.xls") | |
# Set the password for modification. | |
workbook.settings.write_protection.password = "1234" | |
# Save the excel file. | |
workbook.save(dataDir + "SpecifyPasswordToModifyOption.out.xls") |
Проверьте пароль зашифрованного файла
Для проверки пароля зашифрованного файла Aspose.Cells for Python via .NET предоставляет метод verify_password. Эти методы принимают два параметра: файловый поток и пароль, который нужно проверить. Следующий фрагмент кода демонстрирует использование метода verify_password для проверки, является ли предоставленный пароль допустимым или нет.
from aspose.cells import FileFormatUtil | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create a Stream object | |
fstream = open(dataDir + "EncryptedBook1.xlsx", "rb") | |
isPasswordValid = FileFormatUtil.verify_password(fstream, "1234") | |
print("Password is Valid: " + str(isPasswordValid)) |
Шифрование/Дешифрование файла ODS
Aspose.Cells for Python via .NET позволяет шифровать и дешифровать файл ODS. Расшифрованный файл ODS можно открыть как в Excel, так и в OpenOffice, однако зашифрованный файл ODS можно открыть только в OpenOffice при вводе пароля. Excel не может открыть зашифрованный файл ODS и может вывести предупреждение. Варианты шифрования не применимы к файлам ODS, в отличие от других типов файлов. Для шифрования файла ODS загрузите файл и установите значение WorkbookSettings.password в фактический пароль перед сохранением. ИССходящий зашифрованный файл ODS можно открыть только в OpenOffice.
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
sourceDir = RunExamples.Get_SourceDirectory() | |
# Output directory | |
outputDir = RunExamples.Get_OutputDirectory() | |
# Open an ODS file | |
workbook = Workbook(sourceDir + "sampleODSFile.ods") | |
# Password protect the file | |
workbook.settings.password = "1234" | |
# Save the ODS file | |
workbook.save(outputDir + "outputEncryptedODSFile.ods") |
Для расшифровки файла ODS загрузите файл, предоставив пароль в LoadOptions.password. После загрузки файла установите строку WorkbookSettings.password в null.
from aspose.cells import LoadFormat, LoadOptions, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
sourceDir = RunExamples.Get_SourceDirectory() | |
# Output directory | |
outputDir = RunExamples.Get_OutputDirectory() | |
# Open an encrypted ODS file | |
loadOptions = LoadOptions(LoadFormat.ODS) | |
# Set original password | |
loadOptions.password = "1234" | |
# Load the encrypted ODS file with the appropriate load options | |
workbook = Workbook(sourceDir + "sampleEncryptedODSFile.ods", loadOptions) | |
# Set the password to null | |
workbook.settings.password = None | |
# Save the decrypted ODS file | |
workbook.save(outputDir + "outputDecryptedODSFile.ods") |