Docs HotXLS

EncryptionPassword-property

Renvoie or sets the password used to encrypt a BIFF8 (.xls) workbook on SaveAs. Définir une valeur non vide produit un fichier protégé par mot de passe compatible Excel : Microsoft Excel, LibreOffice Calc et les autres lecteurs BIFF8 demandent le mot de passe à l'ouverture et refusent l'accès s'il est erroné. Lecture/écriture WideString. (La valeur par défaut est la chaîne vide, disponible depuis la v2.32.0)

Syntaxe

property EncryptionPassword: WideString;

Remarques

Le chemin d'écriture émet un enregistrement BIFF8 FILEPASS ($002F) immédiatement après le BOF du classeur et chiffre en RC4 chaque corps d'enregistrement suivant. Le format filaire est vMajor=1, vMinor=1 (chiffrement "Office 97/2000 Compatible"). Le Salt et le Verifier de 16 octets sont générés via Windows CryptGenRandom rather than Pascal Random. La re-dérivation de la clé de bloc à chaque frontière de 1024 octets est préservée, si bien que les grands classeurs, les chaînes CONTINUE du SST et les flux multi-feuilles se chiffrent correctement

Encryption applies to BIFF8 (xlExcel97) only — the BIFF5 save path remains plaintext. An empty EncryptionPassword conserve la sortie en clair héritée et est la valeur par défaut, si bien que les applications existantes qui n'appellent jamais le setter ne sont pas affectées

Security note : le RC4 BIFF8 avec vMajor=1/vMinor=1 utilise une clé de 40 bits, considérée comme cassée selon les normes de 2025. Utilisez cette fonctionnalité pour la compatibilité avec l'interface de protection par mot de passe classique d'Excel, pas pour la confidentialité de données sensibles. Pour une vraie sécurité, préférez une sortie XLSX avec AES

Exemple

This example saves a password-protected .xls file

Workbook.EncryptionPassword := 'secret';
Workbook.SaveAs('Confidential.xls', xlExcel97);