Chiffrement des fichiers Excel
Microsoft Excel (97 - 365) vous permet de chiffrer et de protéger par mot de passe vos feuilles de calcul. Il utilise des algorithmes fournis par un fournisseur de services cryptographiques (CSP), un ensemble d’algorithmes cryptographiques avec différentes propriétés. Le CSP par défaut est ‘Compatible avec Office 97/2000’ ou ‘Chiffrement faible (XOR)’. Il est important de choisir la bonne longueur de clé de chiffrement. Certains CSP ne prennent pas en charge plus de 40 ou 56 bits. Cela est considéré comme un chiffrement faible. Pour un chiffrement fort, une longueur de clé minimale de 128 bits est requise. Microsoft Windows contient également des CSP qui offrent des types de chiffrement forts, par exemple le ‘Fournisseur cryptographique fort Microsoft’. Pour vous donner une idée, un chiffrement de 128 bits est ce que les banques utilisent pour chiffrer la connexion avec leurs systèmes de banque en ligne.
Aspose.Cells pour Python via .NET permet de chiffrer et de protéger par mot de passe les fichiers Microsoft Excel avec le type de chiffrement souhaité.
Utilisation de Microsoft Excel
Pour définir les paramètres de chiffrement de fichier dans Microsoft Excel (ici Microsoft Excel 2003) :
- Dans le menu Outils, sélectionnez Options. Une boîte de dialogue apparaîtra.
- Sélectionnez l’onglet Sécurité.
- Saisissez un mot de passe et cliquez sur Avancé
- Choisissez le type de chiffrement et confirmez le mot de passe.
Chiffrement avec Aspose.Cells
L’exemple suivant montre comment chiffrer et protéger par mot de passe un fichier Excel en utilisant l’API Aspose.Cells pour 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") |
Option de spécification du mot de passe pour modifier
L’exemple suivant montre comment définir l’option Mot de passe pour modifier Microsoft Excel pour un fichier existant en utilisant l’API Aspose.Cells pour 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") |
Vérifiez le mot de passe du fichier chiffré
Pour vérifier le mot de passe du fichier chiffré, Aspose.Cells pour Python via .NET fournit la méthode verify_password. Ces méthodes acceptent deux paramètres, le flux de fichier et le mot de passe à vérifier. Le code d’exemple suivant démontre l’utilisation de la méthode verify_password pour vérifier si le mot de passe fourni est valide ou non.
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)) |
Chiffrement / déchiffrement de fichier ODS
Aspose.Cells pour Python via .NET permet de chiffrer et de déchiffrer les fichiers ODS. Le fichier ODS déchiffré peut être ouvert à la fois dans Excel et OpenOffice, cependant le fichier ODS chiffré ne peut être ouvert que dans OpenOffice après avoir fourni le mot de passe. Excel ne peut pas ouvrir le fichier ODS chiffré et peut afficher un message d’avertissement. Les options de chiffrement ne s’appliquent pas aux fichiers ODS contrairement à d’autres types de fichiers. Pour chiffrer un fichier ODS, chargez le fichier et définissez la valeur WorkbookSettings.password avec le mot de passe réel avant de l’enregistrer. Le fichier ODS chiffré résultant peut être ouvert uniquement dans 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") |
Pour déchiffrer un fichier ODS, chargez le fichier en fournissant un mot de passe dans le LoadOptions.password. Une fois le fichier chargé, définissez la chaîne WorkbookSettings.password comme nulle.
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") |